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
- ¿Por qué integrar con el correo de Outlook?
- Usar la API de correo y sus casos de uso en Microsoft Graph v1.0.