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.

Obter contactos na caixa de correio do utilizador.

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.

Esta API está disponível nas seguintes implementações de cloud nacionais.

Serviço global US Government L4 US Government L5 (DOD) China operada pela 21Vianet

Permissões

Escolha a permissão ou permissões marcadas como menos privilegiadas para esta API. Utilize uma permissão ou permissões com privilégios mais elevados apenas se a sua aplicação o exigir. Para obter detalhes sobre as permissões delegadas e de aplicação, veja Tipos de permissão. Para saber mais sobre estas permissões, veja a referência de permissões.

Tipo de permissão Permissões com menos privilégios Permissões com privilégios superiores
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, este método devolve um 200 OK código de resposta e uma coleção de objetos de contacto no corpo da resposta.

Exemplo

Solicitação

O exemplo seguinte obtém as propriedades displayName e emailAddresses dos contactos do utilizador com sessão iniciada.

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"
                }
            ]
        }
    ]
}