PowerPoint.SensitivityLabelsCatalog class
Nota
Esta API se ofrece a los desarrolladores como versión preliminar y puede cambiar en función de los comentarios que recibamos. No utilice esta API en un entorno de producción.
Proporciona métodos para comprobar el estado del catálogo de etiquetas de confidencialidad en PowerPoint y recuperar todas las etiquetas de confidencialidad disponibles si el catálogo está habilitado.
- Extends
Propiedades
| context | El contexto de solicitud asociado al objeto. De esta forma, se conecta el proceso del complemento con el proceso de la aplicación host de Office. |
| get |
Obtiene las funcionalidades de host para etiquetas de confidencialidad en PowerPoint. |
| get |
Métodos
| get |
Obtiene los atributos de control de acceso basado en atributos (ABAC) que están disponibles para el usuario actual. |
| get |
Obtiene etiquetas de confidencialidad que están disponibles para el usuario actual. |
| load(options) | Pone en cola un comando para cargar las propiedades especificadas del objeto. Debe llamar a |
| load(property |
Pone en cola un comando para cargar las propiedades especificadas del objeto. Debe llamar a |
| load(property |
Pone en cola un comando para cargar las propiedades especificadas del objeto. Debe llamar a |
| new |
Cree una nueva instancia del |
| toJSON() | Reemplaza el método JavaScript |
Detalles de las propiedades
context
Nota
Esta API se ofrece a los desarrolladores como versión preliminar y puede cambiar en función de los comentarios que recibamos. No utilice esta API en un entorno de producción.
El contexto de solicitud asociado al objeto. De esta forma, se conecta el proceso del complemento con el proceso de la aplicación host de Office.
context: RequestContext;
Valor de propiedad
getLabelingCapabilities
Nota
Esta API se ofrece a los desarrolladores como versión preliminar y puede cambiar en función de los comentarios que recibamos. No utilice esta API en un entorno de producción.
Obtiene las funcionalidades de host para etiquetas de confidencialidad en PowerPoint.
readonly getLabelingCapabilities: PowerPoint.LabelingCapability[];
Valor de propiedad
Comentarios
Conjunto de API: PowerPointApi BETA (SOLO VERSIÓN PRELIMINAR)
getLabelingCapability
Nota
Esta API se ofrece a los desarrolladores como versión preliminar y puede cambiar en función de los comentarios que recibamos. No utilice esta API en un entorno de producción.
readonly getLabelingCapability: PowerPoint.LabelingCapability | "NoLicense" | "LabelingDisabled" | "LabelingPolicyNotFound" | "LabelingEnabled" | "AttributeBasedAccessControlEnabled";
Valor de propiedad
PowerPoint.LabelingCapability | "NoLicense" | "LabelingDisabled" | "LabelingPolicyNotFound" | "LabelingEnabled" | "AttributeBasedAccessControlEnabled"
Ejemplos
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/powerpoint/preview-apis/manage-sensitivity-labels.yaml
await PowerPoint.run(async (context) => {
// Check whether sensitivity labeling is available for the current user.
const labelCatalog: PowerPoint.SensitivityLabelsCatalog = context.sensitivityLabelsCatalog;
if (!labelCatalog) {
console.warn("The sensitivity label catalog isn't available.");
return;
}
labelCatalog.load("getLabelingCapability");
await context.sync();
switch (labelCatalog.getLabelingCapability) {
case PowerPoint.LabelingCapability.labelingEnabled:
console.log("Sensitivity labeling is enabled.");
break;
case PowerPoint.LabelingCapability.labelingDisabled:
console.log("Sensitivity labeling is disabled.");
break;
case PowerPoint.LabelingCapability.labelingPolicyNotFound:
console.log("No sensitivity labeling policy was found.");
break;
case PowerPoint.LabelingCapability.noLicense:
console.log("The current user doesn't have a valid sensitivity labeling license.");
break;
default:
console.log(`Unknown labeling capability: ${labelCatalog.getLabelingCapability}`);
break;
}
});
Detalles del método
getAttributes()
Nota
Esta API se ofrece a los desarrolladores como versión preliminar y puede cambiar en función de los comentarios que recibamos. No utilice esta API en un entorno de producción.
Obtiene los atributos de control de acceso basado en atributos (ABAC) que están disponibles para el usuario actual.
getAttributes(): OfficeExtension.ClientResult<PowerPoint.SensitivityLabelAbacAttribute[]>;
Devoluciones
Comentarios
Conjunto de API: PowerPointApi BETA (SOLO VERSIÓN PRELIMINAR)
Ejemplos
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/powerpoint/preview-apis/manage-sensitivity-labels.yaml
// Get available ABAC attributes and describe the kind of value each attribute accepts.
const container = document.getElementById("abac-attributes");
while (container.firstChild) {
container.removeChild(container.firstChild);
}
await PowerPoint.run(async (context) => {
const labelCatalog: PowerPoint.SensitivityLabelsCatalog = context.sensitivityLabelsCatalog;
if (!labelCatalog) {
console.warn("The sensitivity label catalog isn't available.");
return;
}
labelCatalog.load("getLabelingCapabilities");
await context.sync();
const capabilities: PowerPoint.LabelingCapability[] = labelCatalog.getLabelingCapabilities;
if (capabilities.indexOf(PowerPoint.LabelingCapability.attributeBasedAccessControlEnabled) === -1) {
console.warn("ABAC attributes aren't enabled or available for the current user.");
return;
}
const catalogAttributes: OfficeExtension.ClientResult<PowerPoint.SensitivityLabelAbacAttribute[]> =
labelCatalog.getAttributes();
await context.sync();
if (catalogAttributes.value.length === 0) {
console.log("No ABAC attributes are available in the sensitivity label catalog.");
return;
}
console.log("Available ABAC attributes:");
catalogAttributes.value.forEach((attribute: PowerPoint.SensitivityLabelAbacAttribute) => {
let dataTypeDescription: string;
switch (attribute.dataType) {
case PowerPoint.SensitivityLabelAbacAttributeDataType.booleanValue:
dataTypeDescription = "Boolean";
break;
case PowerPoint.SensitivityLabelAbacAttributeDataType.dateValue:
dataTypeDescription = "Date";
break;
case PowerPoint.SensitivityLabelAbacAttributeDataType.numberValue:
dataTypeDescription = "Number";
break;
case PowerPoint.SensitivityLabelAbacAttributeDataType.stringValue:
dataTypeDescription = "String";
break;
case PowerPoint.SensitivityLabelAbacAttributeDataType.unknown:
dataTypeDescription = "Unknown";
break;
default:
dataTypeDescription = `Unrecognized (${attribute.dataType})`;
break;
}
console.log(`ABAC attribute: ${attribute.displayName}`, {
dataType: attribute.dataType,
dataTypeDescription,
displayOrder: attribute.displayOrder,
isActive: attribute.isActive,
isMultiValued: attribute.isMultiValued,
values: attribute.values.map((attributeValue: PowerPoint.SensitivityLabelAbacAttributeValue) => ({
displayName: attributeValue.displayName,
displayOrder: attributeValue.displayOrder,
id: attributeValue.id,
isActive: attributeValue.isActive
}))
});
});
addAttributeOptions(catalogAttributes.value);
});
getLabels()
Nota
Esta API se ofrece a los desarrolladores como versión preliminar y puede cambiar en función de los comentarios que recibamos. No utilice esta API en un entorno de producción.
Obtiene etiquetas de confidencialidad que están disponibles para el usuario actual.
getLabels(): PowerPoint.SensitivityLabelDetailsCollection;
Devoluciones
El objeto actual.
Comentarios
Conjunto de API: PowerPointApi BETA (SOLO VERSIÓN PRELIMINAR)
Ejemplos
// Link to full sample: https://raw.githubusercontent.com/OfficeDev/office-js-snippets/prod/samples/powerpoint/preview-apis/manage-sensitivity-labels.yaml
await PowerPoint.run(async (context) => {
const labelSelect = document.getElementById("label-id") as HTMLSelectElement;
labelSelect.options.length = 0;
const placeholder = document.createElement("option");
placeholder.textContent = "Select a label";
placeholder.value = "";
labelSelect.add(placeholder);
// Get the sensitivity labels that the organization published for the current user.
const labelCatalog: PowerPoint.SensitivityLabelsCatalog = context.sensitivityLabelsCatalog;
if (!labelCatalog) {
console.warn("The sensitivity label catalog isn't available.");
return;
}
const availableLabels: PowerPoint.SensitivityLabelDetailsCollection = labelCatalog.getLabels();
// Load the properties and sublabels for every label in the catalog.
availableLabels.load(
"items/color,items/id,items/isAbacAttributesRequired,items/isAbacEnabled,items/isEnabled," +
"items/name,items/order,items/protectionType,items/siteId,items/tooltip," +
"items/children/items/id,items/children/items/name,items/children/items/isEnabled"
);
await context.sync();
if (availableLabels.items.length === 0) {
console.log("No sensitivity labels are available for the current user.");
return;
}
// Display the loaded properties for each available label.
console.log("Available sensitivity labels:");
availableLabels.items.forEach((labelDetails: PowerPoint.SensitivityLabelDetails) => {
const childLabels = labelDetails.children && labelDetails.children.items.length
? labelDetails.children.items
.map((childLabel: PowerPoint.SensitivityLabelDetails) => `${childLabel.name} (${childLabel.id})`)
.join(", ")
: "None";
console.log(
`\n${labelDetails.name}\n` +
` ID: ${labelDetails.id}\n` +
` Site ID: ${labelDetails.siteId}\n` +
` Tooltip: ${labelDetails.tooltip}\n` +
` Color: ${labelDetails.color}\n` +
` Enabled: ${labelDetails.isEnabled ? "Yes" : "No"}\n` +
` Display order: ${labelDetails.order}\n` +
` ABAC enabled: ${labelDetails.isAbacEnabled ? "Yes" : "No"}\n` +
` ABAC attributes required: ${labelDetails.isAbacAttributesRequired ? "Yes" : "No"}\n` +
` Sublabels: ${childLabels}\n` +
` Protection type: ${labelDetails.protectionType}`
);
});
addLabelOptions(availableLabels);
});
load(options)
Nota
Esta API se ofrece a los desarrolladores como versión preliminar y puede cambiar en función de los comentarios que recibamos. No utilice esta API en un entorno de producción.
Pone en cola un comando para cargar las propiedades especificadas del objeto. Debe llamar a context.sync() antes de leer las propiedades.
load(options?: PowerPoint.Interfaces.SensitivityLabelsCatalogLoadOptions): PowerPoint.SensitivityLabelsCatalog;
Parámetros
Proporciona opciones para las propiedades del objeto que se van a cargar.
Devoluciones
load(propertyNames)
Nota
Esta API se ofrece a los desarrolladores como versión preliminar y puede cambiar en función de los comentarios que recibamos. No utilice esta API en un entorno de producción.
Pone en cola un comando para cargar las propiedades especificadas del objeto. Debe llamar a context.sync() antes de leer las propiedades.
load(propertyNames?: string | string[]): PowerPoint.SensitivityLabelsCatalog;
Parámetros
- propertyNames
-
string | string[]
Una cadena delimitada por comas o una matriz de cadenas que especifican las propiedades que se van a cargar.
Devoluciones
load(propertyNamesAndPaths)
Nota
Esta API se ofrece a los desarrolladores como versión preliminar y puede cambiar en función de los comentarios que recibamos. No utilice esta API en un entorno de producción.
Pone en cola un comando para cargar las propiedades especificadas del objeto. Debe llamar a context.sync() antes de leer las propiedades.
load(propertyNamesAndPaths?: {
select?: string;
expand?: string;
}): PowerPoint.SensitivityLabelsCatalog;
Parámetros
- propertyNamesAndPaths
-
{ select?: string; expand?: string; }
propertyNamesAndPaths.select es una cadena delimitada por comas que especifica las propiedades que se van a cargar y propertyNamesAndPaths.expand es una cadena delimitada por comas que especifica las propiedades de navegación que se van a cargar.
Devoluciones
newObject(context)
Nota
Esta API se ofrece a los desarrolladores como versión preliminar y puede cambiar en función de los comentarios que recibamos. No utilice esta API en un entorno de producción.
Cree una nueva instancia del PowerPoint.SensitivityLabelsCatalog objeto.
static newObject(context: OfficeExtension.ClientRequestContext): PowerPoint.SensitivityLabelsCatalog;
Parámetros
Devoluciones
toJSON()
Nota
Esta API se ofrece a los desarrolladores como versión preliminar y puede cambiar en función de los comentarios que recibamos. No utilice esta API en un entorno de producción.
Reemplaza el método JavaScript toJSON() para proporcionar una salida más útil cuando se pasa un objeto API a JSON.stringify(). (JSON.stringify, a su vez, llama al toJSON método del objeto que se le pasa). Mientras que el objeto original PowerPoint.SensitivityLabelsCatalog es un objeto API, el toJSON método devuelve un objeto JavaScript simple (escrito como PowerPoint.Interfaces.SensitivityLabelsCatalogData) que contiene copias superficiales de cualquier propiedad secundaria cargada del objeto original.
toJSON(): PowerPoint.Interfaces.SensitivityLabelsCatalogData;