Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
La colaboración en el lugar de trabajo a menudo se extiende más allá de una organización a asociados externos. Compartir información fuera de la red de una organización requiere medidas para evitar la pérdida de datos y aplicar las directivas de cumplimiento. Microsoft Purview Information Protection proporciona soluciones para clasificar y proteger información confidencial. Las etiquetas de confidencialidad aplican esta protección a los datos de Excel, Outlook, PowerPoint y Word.
Use la API de JavaScript de Office para implementar soluciones de etiquetas de confidencialidad en los proyectos de complementos de Office y admitir los siguientes escenarios.
- Aplique etiquetas de confidencialidad a documentos, mensajes o citas para cumplir con las directivas empresariales y legales.
- Restrinja las acciones adicionales si se aplica una determinada etiqueta de confidencialidad, como impedir que los usuarios agreguen destinatarios externos a un mensaje.
- Clasifique los datos en función de su etiqueta de confidencialidad para admitir auditorías e informes.
Nota:
En Excel, PowerPoint y Word, las API de etiquetas de confidencialidad están en versión preliminar. En Outlook, la compatibilidad con la característica de etiqueta de confidencialidad se introdujo en el conjunto de requisitos 1.13. Para obtener información sobre la compatibilidad con clientes, consulte Clientes y plataformas compatibles.
Requisitos previos
La característica de etiqueta de confidencialidad requiere una suscripción a Microsoft 365 E5. Compruebe si cumple los requisitos para obtener una suscripción para desarrolladores de Microsoft 365 E5 a través del Programa para desarrolladores de Microsoft 365 en las preguntas más frecuentes del programa. De lo contrario, inicie una prueba gratuita de 1 mes o compre un plan de Microsoft 365.
Plataformas y clientes admitidos
La compatibilidad de la API con etiquetas de confidencialidad varía según la aplicación y la plataforma de Office. El soporte técnico de Outlook requiere Exchange Online. En la tabla siguiente se enumeran las combinaciones admitidas.
| Aplicación | Web | Windows | Mac |
|---|---|---|---|
| Excel | Preview | Vista previa | Preview |
| Outlook | Compatible | Compatible (nuevo y clásico (versión 2304 (compilación 16327.20248) o posterior)) |
Compatible (Versión 16.77 (23081600) o posterior) |
| PowerPoint | Preview | Vista previa | Preview |
| Word | Preview | Vista previa | Preview |
Configurar la compatibilidad con etiquetas de confidencialidad
Nota:
Las API de versión preliminar están sujetas a cambios y no están diseñadas para usarse en un entorno de producción. Le recomendamos que solo las pruebe en entornos de desarrollo y pruebas. No use las API de versión preliminar en un entorno de producción ni en documentos críticos para la empresa.
Usar las API en versión preliminar:
- Debe usar la versión preliminar de la biblioteca de API de JavaScript de Office de la red de entrega de contenido (CDN) deOffice.js. El tipo de archivo de definición para la compilación TypeScript e IntelliSense se encuentra en la CDN y DefinitelyTyped. Puede instalar estos tipos con
npm install --save-dev @types/office-js-preview. - Es posible que deba unirse al programa Microsoft 365 Insider para obtener acceso a las compilaciones de Office más recientes.
Las API de etiquetas de confidencialidad de Excel, PowerPoint y Word siguen un patrón de programación similar. En cada host, el contexto de solicitud proporciona acceso al catálogo de etiquetas de confidencialidad, mientras que el objeto de archivo específico del host proporciona métodos para obtener o actualizar su etiqueta.
En la tabla siguiente se enumeran los miembros de API usados para acceder al catálogo de etiquetas de confidencialidad y la etiqueta aplicada a un archivo en cada aplicación host de Office.
| Aplicación | Catálogo de etiquetas de confidencialidad | Etiqueta de confidencialidad en el archivo |
|---|---|---|
| Excel | context.sensitivityLabelsCatalog |
context.workbook.sensitivityLabel |
| PowerPoint | context.sensitivityLabelsCatalog |
context.presentation.sensitivityLabel |
| Word | context.sensitivityLabelsCatalog |
context.document.sensitivityLabel |
En los ejemplos de las secciones siguientes se utiliza Word. Para usar Excel o PowerPoint, sustituya el espacio de nombres de host correspondiente y el objeto de etiqueta de confidencialidad de nivel de archivo.
Comprobar que el etiquetado de confidencialidad está disponible
El administrador de una organización configura las etiquetas y directivas de confidencialidad a través del portal de cumplimiento de Microsoft Purview. Para obtener instrucciones sobre cómo configurar etiquetas de confidencialidad en el inquilino, consulte Creación y configuración de etiquetas de confidencialidad y sus directivas.
Para determinar si el etiquetado de confidencialidad está disponible para el usuario actual, cargue getLabelingCapability (Excel, PowerPoint, Word) desde el catálogo de etiquetas de confidencialidad.
await Word.run(async (context) => {
// Access the sensitivity label catalog for the current user.
const labelCatalog = context.sensitivityLabelsCatalog;
if (!labelCatalog) {
console.warn("The sensitivity label catalog isn't available.");
return;
}
// Load the labeling capability status before reading it.
labelCatalog.load("getLabelingCapability");
await context.sync();
// Display whether sensitivity labeling is enabled and available.
console.log(`Sensitivity labeling capability: ${labelCatalog.getLabelingCapability}`);
});
Identificación de etiquetas de confidencialidad disponibles
Para recuperar las etiquetas publicadas para el usuario actual, llame getLabels() (Excel, PowerPoint, Word) al catálogo.
El método devuelve una colección cuyos elementos y propiedades no están disponibles hasta que los carga explícitamente y llama a context.sync(). Para obtener instrucciones, consulte Cargar desde una colección. y items las propiedades de etiqueta que necesita el complemento. Las propiedades disponibles difieren según el host. Para obtener una lista completa, consulte SensitivityLabelDetails (Excel, PowerPoint, Word).
await Word.run(async (context) => {
// Access the sensitivity label catalog for the current user.
const labelCatalog = context.sensitivityLabelsCatalog;
if (!labelCatalog) {
console.warn("The sensitivity label catalog isn't available.");
return;
}
// Get the available labels and load the properties used by the add-in.
const availableLabels = labelCatalog.getLabels();
availableLabels.load("items/id,items/name,items/isEnabled");
await context.sync();
// Display the available labels.
console.log("Available sensitivity labels:");
availableLabels.items.forEach((label) => {
console.log(`${label.name} (${label.id}) - ${label.isEnabled ? "Enabled" : "Disabled"}`);
});
});
Obtener la etiqueta de confidencialidad
Para recuperar la etiqueta actual, si se aplica una, llame getCurrentOrNullObject() (Excel, PowerPoint, Word) al objeto de etiqueta de confidencialidad del archivo.
await Word.run(async (context) => {
// Access the sensitivity label applied to the current document.
const documentLabel = context.document.sensitivityLabel;
// Get the current label, if one is applied, and load its ID and name.
const currentLabel = documentLabel.getCurrentOrNullObject();
currentLabel.load("id,name");
await context.sync();
// Display the current label or report that the document isn't labeled.
if (currentLabel.isNullObject) {
console.log("The document doesn't have a sensitivity label.");
} else {
console.log(`Current label: ${currentLabel.name} (${currentLabel.id})`);
}
});
Establecer la etiqueta de confidencialidad
Antes de aplicar una etiqueta, llame getLabels() (Excel, PowerPoint, Word) y seleccione una etiqueta o subetiqueta habilitada de la colección devuelta. El tryToUpdate() método (Excel, PowerPoint, Word) requiere el identificador de la etiqueta seleccionada como parámetro. Llamar getLabels() primero le permite recuperar este identificador necesario y comprobar que la etiqueta está disponible para el usuario actual. Compruebe el valor devuelto SensitivityLabelUpdateResult (Excel, PowerPoint, Word) para determinar si la actualización se ha realizado correctamente.
Nota:
Una etiqueta principal que tiene subetiquetas no se puede aplicar directamente. En su lugar, seleccione uno de sus subsellos habilitados.
async function setDocumentSensitivityLabel(labelId: string) {
await Word.run(async (context) => {
// Access the sensitivity label applied to the current document.
const documentLabel = context.document.sensitivityLabel;
// Apply the selected label.
const updateResult = documentLabel.tryToUpdate(labelId);
await context.sync();
// Check whether the label update succeeded.
if (updateResult.value === Word.SensitivityLabelUpdateResult.success) {
console.log("Applied the sensitivity label to the document.");
} else {
console.error(`The sensitivity label wasn't applied. Result: ${updateResult.value}`);
}
});
}
Detectar cambios en la etiqueta de confidencialidad con el evento OnSensitivityLabelChanged
Nota:
El OnSensitivityLabelChanged evento solo está disponible en Outlook.
Use el evento para ejecutar la OnSensitivityLabelChanged lógica del complemento cuando cambie la etiqueta de confidencialidad de un mensaje o cita. Por ejemplo, impedir que los usuarios degraden la etiqueta de un elemento de correo que contenga determinados datos adjuntos.
El OnSensitivityLabelChanged evento utiliza la activación basada en eventos. Para obtener instrucciones de configuración, depuración e implementación, consulte Activación de complementos con eventos.
Recursos adicionales
- Información sobre las etiquetas de confidencialidad
- Introducción a las etiquetas de confidencialidad
- Crear y configurar etiquetas de confidencialidad y sus directivas
- Activar complementos con eventos
- Ejemplo de código de complementos de Office: Comprobar la etiqueta de confidencialidad de un mensaje