Enumerar contactos

Espacio de nombres: microsoft.graph

Obtiene una colección de contactos de la carpeta de contactos predeterminada del usuario que inició sesión.

Hay dos posibles escenarios donde una aplicación puede obtener contactos en la carpeta de otro usuario:

  • Si la aplicación tiene permisos de aplicación, o bien,
  • Si la aplicación tiene los correspondientes permisos delegados de un usuario y otro usuario ha compartido una carpeta de contacto con ese usuario, o bien, le ha concedido acceso delegado a ese usuario. Vea detalles y un ejemplo.

Esta API está disponible en las siguientes implementaciones nacionales de nube.

Servicio global Gobierno de EE. UU. L4 Us Government L5 (DOD) China operada por 21Vianet

Permissions

Elija el permiso o los permisos marcados como con privilegios mínimos para esta API. Use un permiso o permisos con privilegios superiores solo si la aplicación lo requiere. Para obtener más información sobre los permisos delegados y de aplicación, consulte Tipos de permisos. Para obtener más información sobre estos permisos, consulte la referencia de permisos.

Tipo de permiso Permisos con privilegios mínimos Permisos con privilegios más altos
Delegado (cuenta profesional o educativa) Contacts.Read Contacts.ReadWrite
Delegado (cuenta personal de Microsoft) Contacts.Read Contacts.ReadWrite
Aplicación Contacts.Read Contacts.ReadWrite

Solicitud HTTP

Para obtener todos los contactos de la carpeta Contactos predeterminada de un usuario:

GET /me/contacts
GET /users/{id | userPrincipalName}/contacts

Para obtener los contactos de una carpeta específica del buzón del usuario:

GET /me/contactfolders/{Id}/contacts
GET /users/{id | userPrincipalName}/contactfolders/{id}/contacts

GET /me/contactFolders/{id}/childFolders/{id}/.../contacts
GET /users/{id | userPrincipalName}/contactFolders/{id}/childFolders/{id}/contacts

Parámetros de consulta opcionales

Puede usar el parámetro de consulta $filter para filtrar contactos en función de sus direcciones de correo:

GET https://graph.microsoft.com/v1.0/me/contacts?$filter=emailAddresses/any(a:a/address eq 'garth@contoso.com')

Puede usar $filter, anyy el eq operador solo en la subpropiedad de direcciones de las instancias de una colección emailAddresses . Es decir, no puede filtrar por el nombre ni por ninguna otra subpropiedad de una instancia de emailAddresses, ni puede aplicar ningún otro operador o función con filter, como ne, ley startswith().

Para obtener información general sobre el parámetro de consulta $filter, vea Parámetros de consulta OData.

Encabezados de solicitud

Encabezado Valor
Authorization {token} de portador. Obligatorio. Obtenga más información sobre la autenticación y la autorización.

Cuerpo de la solicitud

No proporcione un cuerpo de solicitud para este método.

Respuesta

Si se ejecuta correctamente, este método devuelve un 200 OK código de respuesta y una colección de objetos de contacto en el cuerpo de la respuesta.

Ejemplo

Solicitud

En el ejemplo siguiente se muestra la solicitud.

GET https://graph.microsoft.com/v1.0/me/contacts

Respuesta

En el ejemplo siguiente se muestra la respuesta.

Nota: Se puede acortar el objeto de respuesta que se muestra aquí para mejorar la legibilidad.

HTTP/1.1 200 OK
Content-type: application/json

{
  "value": [
    {
      "parentFolderId": "parentFolderId-value",
      "birthday": "datetime-value",
      "fileAs": "fileAs-value",
      "displayName": "displayName-value",
      "givenName": "givenName-value",
      "initials": "initials-value"
    }
  ]
}