Enumerar contactos
Espacio de nombres: microsoft.graph
Importante
Las API de la versión /beta
de Microsoft Graph están sujetas a cambios. No se admite el uso de estas API en aplicaciones de producción. Para determinar si una API está disponible en la versión 1.0, use el selector de Versión.
Obtener contactos en el buzón del usuario.
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/beta/me/contacts?$filter=emailAddresses/any(a:a/address eq 'garth@contoso.com')
Tenga en cuenta que puede usar $filter
, any
y el operador eq
solo en la subpropiedad dirección de instancias en una colección emailAddresses. Es decir, no puede filtrar name ni cualquier otra subpropiedad de una instancia de emailAddresses, ni tampoco puede aplicar ningún otro operador o función con filter
, como ne
, le
, y 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 obtienen las propiedades displayName y emailAddresses de los contactos del usuario que ha iniciado sesión.
GET https://graph.microsoft.com/beta/me/contacts?$select=displayName,emailAddresses
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
{
"@odata.context":"https://graph.microsoft.com/beta/$metadata#users('c3e1fcd2-db78-42a8-aec5-1f2cd59abb5c')/contacts(displayName,emailAddresses)",
"value":[
{
"@odata.etag":"W/\"EQAAABYAAACv7At+UNVFRLhGciJGF6v5AAAve7f6\"",
"id":"AAMkADh6v5AAAvgTCFAAA=",
"displayName":"Elvis Blank",
"emailAddresses":[
{
"type":"personal",
"name":"Elvis Blank",
"address":"elvisb@contoso.com"
},
{
"type":"other",
"otherLabel":"Volunteer work",
"name":"Elvis Blank",
"address":"elvisb@contoso.com"
}
]
},
{
"@odata.etag":"W/\"EQAAABYAAACv7At+UNVFRLhGciJGF6v5AAAve7fn\"",
"id":"AAMkADh6v5AAAvgTCEAAA=",
"displayName":"Pavel Bansky",
"emailAddresses":[
{
"type":"personal",
"name":"Pavel Bansky",
"address":"pavelb@contoso.com"
},
{
"type":"other",
"otherLabel":"Volunteer work",
"name":"Pavel Bansky",
"address":"pavelb@contoso.com"
}
]
}
]
}