Compartilhar via


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 $filterparâ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 $filterparâ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"
                }
            ]
        }
    ]
}