Compartir a través de


Implementar carpetas compartidas y escenarios de buzón compartido en un complemento de Outlook

En este artículo se describe cómo implementar carpetas compartidas (también conocidas como acceso delegado) y escenarios de buzón compartido en el complemento de Outlook, incluidos los permisos que admite la API de JavaScript de Office.

Nota:

La compatibilidad con carpetas compartidas se introdujo en el conjunto de requisitos 1.8, mientras que la compatibilidad con buzones compartidos se introdujo en el conjunto de requisitos 1.13. Para obtener información sobre la compatibilidad con clientes para estas características, consulte Clientes y plataformas compatibles.

Plataformas y clientes admitidos

En la tabla siguiente se muestran las combinaciones de cliente y servidor admitidas para esta característica, incluida la actualización acumulativa mínima necesaria cuando corresponda. No se admiten combinaciones excluidas.

Cliente Exchange Online Exchange 2019 local
(Actualización acumulativa 1 o posterior)
Exchange 2016 local
(Actualización acumulativa 6 o posterior)
Explorador web (interfaz de usuario moderna de Outlook) Compatible No aplicable No aplicable
Explorador web (interfaz de usuario clásica de Outlook) No aplicable No aplicable No aplicable
nuevo Outlook en Windows Compatible No aplicable No aplicable
Windows (clásico)
Carpetas compartidas: versión 1910 (compilación 12130.20272) o posterior

Buzones compartidos: versión 2304 (compilación 16327.20248) o posterior
Compatible Soportado* Soportado*
Mac
Versión 16.47 o posterior
Compatible Compatible Compatible

Nota:

* La compatibilidad con esta característica en un entorno de Exchange local está disponible a partir de la versión clásica de Outlook en Windows 2206 (compilación 15330.20000) para el canal actual y la versión 2207 (compilación 15427.20000) para el canal mensual de empresa.

Configuraciones admitidas

En las secciones siguientes se describen las configuraciones admitidas para buzones compartidos y carpetas compartidas. Es posible que las API de características no funcionen como se esperaba en otras configuraciones. Seleccione la plataforma que desea aprender a configurar.

Carpetas compartidas

El propietario del buzón debe proporcionar primero acceso a un delegado.

Una vez proporcionado el acceso, el delegado debe seguir las instrucciones descritas en la sección "Agregar el buzón de otra persona a la lista de carpetas en Outlook Web App" del artículo Acceso al buzón de otra persona.

Buzones compartidos

Un buzón compartido permite a un grupo de usuarios supervisar y enviar fácilmente mensajes e invitaciones a reuniones mediante una dirección de correo electrónico compartida.

En Outlook en la Web, se puede abrir un buzón compartido en el mismo panel que el buzón principal de un usuario o en una pestaña o ventana del explorador independiente. Para obtener instrucciones, consulte Abrir y usar un buzón compartido en Outlook en la Web.

Nota:

En Outlook en la Web, si abre un buzón compartido en una pestaña o ventana del explorador independiente mediante la opción Abrir otro buzón, es posible que se produzcan problemas al acceder a los complementos desde el buzón. En su lugar, se recomienda abrir el buzón en el mismo panel que el buzón principal. Esto garantiza que los complementos funcionen según lo esperado en el buzón compartido.

Si prefiere abrir el buzón compartido mediante la opción Abrir otro buzón , se recomienda implementar el complemento en el usuario principal y en los buzones compartidos.

En el nuevo Outlook en Windows, se agrega un buzón compartido a la sección Compartido conmigo del panel de carpetas. Para obtener instrucciones, vea Abrir y usar un buzón compartido en Outlook.

Para obtener más información sobre dónde hacen y no se activan los complementos en general, consulte la sección Elementos de buzón disponibles para complementos de la página de información general de los complementos de Outlook.

Configuración del manifiesto

Para implementar carpetas compartidas y escenarios de buzón compartido en el complemento, primero debe configurar la compatibilidad con la característica en el manifiesto. El marcado varía en función del tipo de manifiesto que use el complemento.

Agregue un objeto adicional a la matriz "authorization.permissions.resourceSpecific" y establezca su propiedad "name" en "Mailbox.SharedFolder".

"authorization": {
  "permissions": {
    "resourceSpecific": [
      ...
      {
        "name": "Mailbox.SharedFolder",
        "type": "Delegated"
      },
    ]
  }
},

Identificar si se comparte una carpeta o un buzón

Para poder ejecutar operaciones en una carpeta compartida o un buzón compartido, primero debe identificar si se comparte la carpeta o el buzón actual. Para determinar esto, llame a Office.context.mailbox.item.getSharedPropertiesAsync en un mensaje o cita en modo de redacción o lectura. Si el elemento está en una carpeta compartida o un buzón compartido, el método devuelve un objeto SharedProperties que proporciona los permisos del usuario, la dirección de correo electrónico del propietario, la dirección URL base de la API REST y la ubicación del buzón de destino.

En el ejemplo siguiente se llama al getSharedPropertiesAsync método para identificar al propietario del buzón de correo y los permisos del usuario del buzón delegado o compartido.

Office.context.mailbox.item.getSharedPropertiesAsync((result) => {
  if (result.status === Office.AsyncResultStatus.Failed) {
    console.error("The current folder or mailbox isn't shared.");
    return;
  }
  const sharedProperties = result.value;
  console.log(`Owner: ${sharedProperties.owner}`);
  console.log(`Permissions: ${sharedProperties.delegatePermissions} `);
});

Permisos admitidos

En la tabla siguiente se describen los permisos que getSharedPropertiesAsync admiten los delegados y los usuarios de buzones compartidos.

Permiso Valor Descripción
Lectura 1 (000001) Puede leer elementos.
Escritura 2 (000010) Puede crear elementos.
DeleteOwn 4 (000100) Solo puede eliminar los elementos que crearon.
DeleteAll 8 (001000) Puede eliminar cualquier elemento.
EditOwn 16 (010000) Solo puede editar los elementos que creó.
EditAll 32 (100000) Puede editar cualquier elemento.

Nota:

Actualmente, la API admite la obtención de permisos existentes, pero no la configuración de permisos.

La enumeración DelegatePermissions devuelta por la propiedad delegatePermissions se implementa mediante una máscara de bits para indicar los permisos. Cada posición de la máscara de bits representa un permiso determinado y, si se establece 1en , el usuario tiene el permiso correspondiente. Por ejemplo, si el segundo bit de la derecha es 1, el usuario tiene permiso de escritura .

Realizar una operación como usuario delegado o de buzón compartido

Una vez que haya identificado que el elemento de correo actual está en una carpeta compartida o un buzón compartido, el complemento puede realizar las operaciones necesarias en el elemento dentro del entorno compartido. Para ejecutar operaciones en un elemento en un contexto compartido, primero debe configurar el permiso del complemento en el manifiesto. A continuación, use Microsoft Graph para completar las operaciones.

Nota:

Exchange Web Services (EWS) no se admite en escenarios de carpetas compartidas y buzones compartidos.

Configuración de los permisos del complemento

Para usar los servicios de Microsoft Graph, un complemento debe configurar el permiso de buzón de lectura y escritura en su manifiesto. El marcado varía en función del tipo de manifiesto que use el complemento.

  • Manifiesto unificado para Microsoft 365: establezca la propiedad "name" de un objeto en la matriz "authorization.permissions.resourceSpecific" en "Mailbox.ReadWrite.User".
  • Manifiesto de solo complemento: establezca el elemento Permissions en ReadWriteMailbox.

Usar Microsoft Graph

Para implementar los escenarios de carpeta compartida y buzón compartido, use Microsoft Graph para acceder a información y recursos adicionales del buzón. Por ejemplo, puede usar Microsoft Graph para obtener el contenido de un mensaje de Outlook adjunto a un mensaje en un buzón donde un usuario tiene acceso delegado. Para obtener instrucciones sobre cómo usar Microsoft Graph, consulte Información general sobre Microsoft Graph y la API de correo de Outlook en Microsoft Graph.

Sugerencia

Para acceder a las API de Microsoft Graph desde el complemento, use MSAL.js autenticación de aplicaciones anidadas (NAA). Para más información, consulte Habilitación del inicio de sesión único en un complemento de Office mediante la autenticación de aplicaciones anidadas (versión preliminar).

Limitaciones

En función de los escenarios del complemento, hay algunas limitaciones que debe tener en cuenta al controlar las situaciones de carpetas compartidas o buzones compartidos.

Modo de Compose de mensajes

En el modo message Compose, getSharedPropertiesAsync no se admite en Outlook en la Web ni en Windows (nuevo y clásico) a menos que se cumplan las condiciones siguientes.

  • Delegar acceso/Carpetas compartidas

    1. El propietario del buzón inicia un mensaje. Puede ser un mensaje nuevo, una respuesta o un reenvío.
    2. Guardan el mensaje y lo mueven de su propia carpeta Borradores a una carpeta compartida con el delegado.
    3. El delegado abre el borrador de la carpeta compartida y, a continuación, continúa redactando.
  • Buzón compartido (solo se aplica a Outlook clásico en Windows)

    1. Un usuario de buzón compartido inicia un mensaje. Puede ser un mensaje nuevo, una respuesta o un reenvío.
    2. Guardan el mensaje y lo mueven de su propia carpeta Borradores a una carpeta del buzón compartido.
    3. Otro usuario de buzón compartido abre el borrador del buzón compartido y, a continuación, continúa redactando.

Una vez que se cumplen estas condiciones, el mensaje pasa a estar disponible en un contexto compartido y los complementos que admiten estos escenarios compartidos pueden obtener las propiedades compartidas del elemento. Después de enviar el mensaje, normalmente se encuentra en la carpeta Elementos enviados del buzón personal del remitente.

Buzón de usuario o compartido oculto en una lista de direcciones

Si un administrador ocultó una dirección de usuario o buzón compartido de una lista de direcciones, como la lista global de direcciones (GAL), los elementos de correo afectados abiertos en el informe Office.context.mailbox.item de buzón de correo se muestran como null. Por ejemplo, si el usuario abre un elemento de correo en un buzón compartido que está oculto en la GAL, Office.context.mailbox.item representar ese elemento de correo es null.

Sincronización entre clientes de carpetas compartidas

Las actualizaciones de un delegado en el buzón del propietario suelen sincronizarse entre buzones inmediatamente. Sin embargo, si se usaron operaciones de Microsoft Graph para establecer una propiedad extendida en un elemento, estos cambios podrían tardar algún tiempo en sincronizarse. Para evitar un retraso, se recomienda usar el objeto CustomProperties y las API relacionadas. Para obtener más información, vea la sección "Datos personalizados por elemento en un buzón: propiedades personalizadas" de Obtener y establecer metadatos en un complemento de Outlook.

Vea también