Obtener mensajes de Outlook en una carpeta compartida o delegada

Outlook permite a los clientes compartir carpetas entre ellos y proporcionar acceso de lectura, creación, edición o eliminación a las carpetas individuales. Outlook también permite a un cliente delegar en otro usuario en nombre del cliente y tener acceso a carpetas de correo específico o a todo buzón del cliente; esto también se denomina "delegación" en Outlook.

Mediante programación, Microsoft Graph admite la obtención de mensajes en carpetas de correo compartidas por otros usuarios y la obtención de las propias carpetas compartidas. La compatibilidad también se aplica a las carpetas delegadas.

Por ejemplo, Garth ha compartido y dado acceso de lectura a su Bandeja de entrada a John. Si John inicia sesión en la aplicación y proporciona permisos delegados (Mail.Read.Shared o Mail.ReadWrite.Shared), la aplicación accede al correo de Garth y a la Bandeja de entrada de Garth, como se describe en este artículo.

Permisos de Microsoft Graph

Use los permisos delegados, Mail.Read.Shared o Mail.ReadWrite.Shared, para leer o escribir respectivamente mensajes en una carpeta compartida o delegada.

Estos dos permisos no admiten la suscripción a notificaciones de cambios en elementos de carpetas compartidas o delegadas. Para configurar las suscripciones de notificación de cambios a los mensajes en una carpeta compartida o delegada, o cualquier otra carpeta de correo de un usuario en el espacio empresarial, use los permisos de aplicación, Mail.Read.

Para obtener más información, vea Permisos para el ámbito educativo.

Obtener un mensaje en la carpeta compartida

Puede obtener un mensaje específico en la Bandeja de entrada de Jorge:

GET users/{Garth-userId | Garth-userPrincipalName}/mailfolders('Inbox')/messages/{id}

Una vez completada correctamente, obtendrá HTTP 200 OK y la instancia de mensaje identificada por {id} en la Bandeja de entrada de Garth.

Obtener todos los mensajes en la carpeta compartida

Obtenga todos los mensajes en la Bandeja de entrada de Jorge:

GET users/{Garth-userId | Garth-userPrincipalName}/mailfolders('Inbox')/messages

Una vez completada correctamente, obtendrá HTTP 200 OK y una colección de instancias de mensaje en la Bandeja de entrada de Garth.

Obtener la carpeta compartida

Obtenga la carpeta (Bandeja de entrada) que compartió Jorge con Juan.

GET users/{Garth-userId | Garth-userPrincipalName}/mailfolders('Inbox')

Una vez completada correctamente, obtendrá HTTP 200 OK y una instancia de mailFolder que representa la carpeta Bandeja de entrada de Garth.

Se aplican las mismas capacidades de GET si Jorge había delegado a Juan acceso a la Bandeja de entrada de Jorge o había delegado Juan todo su buzón.

Si Garth no ha compartido su Bandeja de entrada con John, ni ha delegado su buzón en John, especificar el identificador de usuario o el nombre principal de usuario de Garth en esas operaciones GET devolverá un error.

Pasos siguientes