Listar contatos
Namespace: microsoft.graph
Importante
As APIs na versão /beta
no Microsoft Graph estão sujeitas a alterações. Não há suporte para o uso dessas APIs em aplicativos de produção. Para determinar se uma API está disponível na v1.0, use o seletor Versão.
Obtenha contatos na caixa de correio do usuário.
Há duas situações em que um aplicativo pode obter contatos na pasta de contatos de outro usuário:
- Se o aplicativo tiver permissões de aplicativo ou
- Se o aplicativo tiver as permissões delegadas apropriadas de um usuário, e outro usuário tiver compartilhado uma pasta de contatos com esse usuário, ou tiver concedido acesso delegado a esse usuário. Confira detalhes e um exemplo.
Essa API está disponível nas seguintes implantações nacionais de nuvem.
Serviço global | Governo dos EUA L4 | GOVERNO DOS EUA L5 (DOD) | China operada pela 21Vianet |
---|---|---|---|
✅ | ✅ | ✅ | ✅ |
Permissões
Escolha a permissão ou as permissões marcadas como menos privilegiadas para essa API. Use uma permissão ou permissões privilegiadas mais altas somente se o aplicativo exigir. Para obter detalhes sobre permissões delegadas e de aplicativo, consulte Tipos de permissão. Para saber mais sobre essas permissões, consulte a referência de permissões.
Tipo de permissão | Permissões menos privilegiadas | Permissões privilegiadas mais altas |
---|---|---|
Delegado (conta corporativa ou de estudante) | Contacts.Read | Contacts.ReadWrite |
Delegado (conta pessoal da Microsoft) | Contacts.Read | Contacts.ReadWrite |
Aplicativo | Contacts.Read | Contacts.ReadWrite |
Solicitação HTTP
Para obter todos os contatos na pasta de Contatos padrão do usuário:
GET /me/contacts
GET /users/{id | userPrincipalName}/contacts
Para obter os contatos em uma pasta específica na caixa de correio do usuário:
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 opcionais
Você pode usar o $filter
parâmetro de consulta para filtrar contatos com base em seus endereços de email:
GET https://graph.microsoft.com/beta/me/contacts?$filter=emailAddresses/any(a:a/address eq 'garth@contoso.com')
Observe que você pode usar $filter
, any
, e o eq
operador apenas na subpropriedade de endereço das instâncias em uma coleção emailAddresses. Ou seja, você não pode filtrar o nome ou qualquer outra subpropriedade de uma instância de emailAddresses, nem pode aplicar qualquer outro operador ou função com filter
, como ne
, le
e startswith()
.
Para obter informações gerais sobre o $filter
parâmetro de consulta, acesse Parâmetros de consulta OData.
Cabeçalhos de solicitação
Cabeçalho | Valor |
---|---|
Autorização | {token} de portador. Obrigatório. Saiba mais sobre autenticação e autorização. |
Corpo da solicitação
Não forneça um corpo de solicitação para esse método.
Resposta
Se for bem-sucedido, esse método retornará um 200 OK
código de resposta e uma coleção de objetos de contato no corpo da resposta.
Exemplo
Solicitação
O exemplo a seguir obtém as propriedades displayName e emailAddresses dos contatos do usuário conectado.
GET https://graph.microsoft.com/beta/me/contacts?$select=displayName,emailAddresses
Resposta
O exemplo a seguir mostra a resposta.
Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.
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"
}
]
}
]
}