Obtener contactos de Outlook en una carpeta compartida
Outlook permite a los clientes compartir carpetas entre ellos y proporcionar acceso de lectura, creación, edición o eliminación a las carpetas de contactos individuales. Outlook también permite a un cliente delegar a otro usuario para que actúe en nombre del cliente y acceder a carpetas específicas o a todo el buzón del cliente; esto también se conoce como delegación en Outlook.
Mediante programación, Microsoft Graph admite la recepción de mensajes en carpetas de correo que han compartido otros usuarios, así como obtener esas carpetas compartidas. El soporte también se aplica a los archivos en un buzón de correo delegado.
Por ejemplo, Juan ha compartido con Miguel una carpeta de contactos personalizada y le ha concedido el acceso de lectura. Si John ha iniciado sesión en la aplicación y ha proporcionado permisos delegados (Contacts.Read.Shared o Contacts.ReadWrite.Shared), la aplicación podrá acceder a la carpeta de contactos personalizada de Garth y a los contactos de esa carpeta. Para obtener más información, consulte las secciones siguientes.
Nota:
Los permisos de uso compartido (Contacts.Read.Shared o Contacts.ReadWrite.Shared) le permiten leer o escribir contactos en una carpeta compartida o delegada. No admiten la suscripción a notificaciones de cambios en elementos de dichas carpetas. Para configurar las suscripciones de notificación de cambios a los contactos en una carpeta compartida o delegada, o cualquier otra carpeta de contactos de un usuario en el espacio empresarial, use los permisos de aplicación Contacts.Read.
Obtener un contacto en la carpeta compartida
Puede obtener un contacto específico en la carpeta de contactos personalizada que Juan ha compartido con Miguel:
GET users/{Garth-userId | Garth-userPrincipalName}/contactFolders/{folder-id}/contacts/{id}
Cuando se complete correctamente, verá HTTP 200 OK y la instancia de contacto identificada por {id}
desde la carpeta de contactos que ha compartido Juan.
Obtener todos los contactos en la carpeta compartida
Obtener todos los contactos en la carpeta de contactos que ha compartido Juan:
GET users/{Garth-userId | Garth-userPrincipalName}/contactFolders/{folder-id}/contacts
Cuando se complete correctamente, verá HTTP 200 OK y una colección de instancias contacto en la carpeta de contactos que ha compartido Juan.
Obtener la carpeta compartida
Obtener la carpeta que Juan ha compartido con Miguel.
GET users/{Garth-userId | Garth-userPrincipalName}/contactFolders/{folder-id}
Cuando se complete correctamente, verá HTTP 200 OK y la instancia contactFolder que representa la carpeta de contactos que ha compartido Juan.
Las mismas capacidades de "obtener" aplican si Jorge hubiera delegado en Juan todo su buzón.
Si Garth no ha compartido la carpeta de contactos 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
Obtenga más información sobre:
- ¿Por qué integrar con contactos personales de Outlook?
- La API de contactos en la versión 1.0 de Microsoft Graph