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 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 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 Miguel 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 Juan y a los contactos en dicha carpeta, tal y como se describe a continuación.

Nota Los permisos de uso compartidos (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 Juan no ha compartido su carpeta de contactos con Miguel ni ha delegado su buzón en él, especificar el identificador de usuario del Juan o el nombre principal de usuario en esas operaciones "obtener" devolverá un error.

Pasos siguientes

Obtenga más información sobre: