Compartilhar via


Referência da API REST de Contatos do Outlook (versão 2.0)

Aplica-se a: Exchange Online | Office 365 | Hotmail.com | Live.com | MSN.com | Outlook.com | Passport.com

A API de Contatos do Outlook fornece acesso protegido a contatos e pastas de contatos de um usuário pelo Active Directory do Azure no Office 365 e a dados semelhantes nas contas da Microsoft, especificamente nestes domínios: Hotmail.com, Live.com, MSN.com, Outlook.com, e Passport.com.

Observação

Para simplificar a referência, o restante deste artigo usa o Outlook.com para incluir esses domínios de conta da Microsoft.

Não tem interesse na v2.0 da API? No tabela de conteúdo à esquerda, vá para a seção Referência da API REST do Office 365 e selecione a versão desejada.

Todas as operações da API de Contatos

Operações de contatos

Contatos são armazenados em pastas de contatos. Você pode obter, criar, alterar e excluir contatos.

Operações de pastas de contato

Pastas de contatos podem conter contatos e outras pastas de contatos. Você pode obter pastas de contatos e criar contatos em uma pasta de contatos.

Operações de foto do contato

Cada contato pode ter uma imagem de contato opcional. Você pode obter ou definir uma foto para um contato.

Ver também

Como usar a API REST de Contatos

Autenticação

Assim como acontece com outras APIs REST do Outlook, para cada solicitação enviada à API de Contatos você deve incluir um token de acesso válido. A obtenção de um token de acesso exige que você tenha registrado e identificado seu aplicativo e obtido a autorização adequada.

Você pode aprender mais sobre algumas opções simplificadas de registro e autorização. Tenha isso em mente ao prosseguir com as operações específicas na API de Contatos.

Versão da API

A API REST de Contatos é suportada em todas as versões da API REST do Outlook. A funcionalidade pode variar dependendo da versão específica.

Usuário destino

As solicitações da API de Contatos são sempre feitas em nome do usuário atual.

Veja Usar a API REST do Outlook para obter mais informações comuns a todos os subconjuntos da API REST do Outlook.

Obter contatos

Você pode obter uma coleção de contatos ou um único contato de uma pasta de contatos.

Escopo mínimo necessário

Uma das seguintes opções:

Obter uma coleção de contatos

Obtém uma coleção de contatos da pasta de contatos padrão do usuário conectado (.../me/contacts), ou da pasta contato especificada.

GET https://outlook.office.com/api/v2.0/me/contacts
GET https://outlook.office.com/api/v2.0/me/contactfolders/{contact_folder_id}/contacts
Parâmetro obrigatório Tipo Descrição
Parâmetros de URL
contact_folder_id sequência de caracteres ID da pasta de contatos, se estiver obtendo contatos de uma pasta específica.

Observação

Por padrão, cada contato na resposta inclui todas as suas propriedades. Use $select para especificar somente as propriedades necessárias para um melhor desempenho. A propriedade Id é sempre retornada. Confira Parâmetros de consulta do OData para ver parâmetros de filtragem, classificação e paginação.

Exemplo de solicitação

GET https://outlook.office.com/api/v2.0/me/contacts?$select=EmailAddresses,GivenName,Surname

Resposta de amostra

Status code: 200

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Contacts(EmailAddresses,GivenName,Surname)",
    "value": [
        {
            "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Contacts('AAMkAGI2THk3AAA=')",
            "@odata.etag": "W/\"EQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTIa7\"",
            "Id": "AAMkAGI2THk3AAA=",
            "GivenName": "Rob",
            "Surname": "Young",
            "EmailAddresses": [
                {
                    "Name": "roby@a830edad9050849NDA1.onmicrosoft.com",
                    "Address": "roby@a830edad9050849NDA1.onmicrosoft.com"
                }
            ]
        },
        {
            "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Contacts('AAMkAGI2THkzAAA=')",
            "@odata.etag": "W/\"EQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTIa3\"",
            "Id": "AAMkAGI2THkzAAA=",
            "GivenName": "Janet",
            "Surname": "Schorr",
            "EmailAddresses": [
                {
                    "Name": "janets@a830edad9050849NDA1.onmicrosoft.com",
                    "Address": "janets@a830edad9050849NDA1.onmicrosoft.com"
                }
            ]
        }
    ]
}

Tipo de resposta

A coleção de contatos solicitada.

Obter um contato

Escopo mínimo necessário

Uma das seguintes opções:

Obtenha um contato usando o ID do contato.

GET https://outlook.office.com/api/v2.0/me/contacts/{contact_id}
Parâmetro obrigatório Tipo Descrição
Parâmetros de URL
contact_id sequência de caracteres A ID do contato.

Exemplo de solicitação

GET https://outlook.office.com/api/v2.0/me/contacts/AAMkAGI2THk0AAA=

Resposta de amostra

Status code: 200

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Contacts/$entity",
    "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Contacts('AAMkAGI2THk0AAA=')",
    "@odata.etag": "W/\"EQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTIa4\"",
    "Id": "AAMkAGI2THk0AAA=",
    "CreatedDateTime": "2014-10-19T23:08:24Z",
    "LastModifiedDateTime": "2014-10-19T23:08:24Z",
    "ChangeKey": "EQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTIa4",
    "Categories": [],
    "ParentFolderId": "AAMkAGI2AAEOAAA=",
    "Birthday": null,
    "FileAs": "Fort, Garth",
    "DisplayName": "Garth Fort",
    "GivenName": "Garth",
    "Initials": "G.F.",
    "MiddleName": null,
    "NickName": "Garth",
    "Surname": "Fort",
    "Title": null,
    "YomiGivenName": null,
    "YomiSurname": null,
    "YomiCompanyName": null,
    "Generation": null,
    "EmailAddresses": [
        {
            "Name": "Garth",
            "Address": "garthf@a830edad9050849NDA1.onmicrosoft.com"
        }
    ],
    "ImAddresses": [
        "sip:garthf@a830edad9050849nda1.onmicrosoft.com"
    ],
    "JobTitle": "Web Marketing Manager",
    "CompanyName": "Contoso, Inc.",
    "Department": "Sales & Marketing",
    "OfficeLocation": "20/1101",
    "Profession": null,
    "BusinessHomePage": "https://www.contoso.com",
    "AssistantName": null,
    "Manager": null,
    "HomePhones": [],
    "MobilePhone1": null,
    "BusinessPhones": [
        "+1 918 555 0101"
    ],
    "HomeAddress": {},
    "BusinessAddress": {
      "Street": "10 Contoso Way",
      "City": "Redmond",
      "State": "WA",
      "CountryOrRegion": "USA",
      "PostalCode": "98075"  
    },
    "OtherAddress": {},
    "SpouseName": null,
    "PersonalNotes": null,
    "Children": []
}

Tipo de resposta

O contato solicitado.

Observação

Por padrão, a resposta inclui todas as propriedades do contato. Use $select para especificar somente as propriedades necessárias para um melhor desempenho. A propriedade Id é sempre retornada. Confira Parâmetros de consulta do OData para ver parâmetros de filtragem, classificação e paginação.

O exemplo a seguir mostra como usar $select para especificar que apenas as propriedades EmailAddresses, GivenName e Surname do contato sejam retornadas na resposta.

Exemplo de solicitação

GET https://outlook.office.com/api/v2.0/me/contacts/AAMkAGI2THk0AAA=?$select=EmailAddresses,GivenName,Surname

Resposta de amostra

Status code: 200

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Contacts(EmailAddresses,GivenName,Surname)/$entity",
    "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Contacts('AAMkAGI2THk0AAA=')",
    "@odata.etag": "W/\"EQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTIa4\"",
    "Id": "AAMkAGI2THk0AAA=",
    "GivenName": "Garth",
    "Surname": "Fort",
    "EmailAddresses": [
        {
            "Name": "garthf@a830edad9050849NDA1.onmicrosoft.com",
            "Address": "garthf@a830edad9050849NDA1.onmicrosoft.com"
        }
    ]
}

Sincronizar contatos e pastas de contatos

Você pode sincronizar sua lista local de contatos com os contatos no servidor. A sincronização de contatos é uma operação feita por pasta, por exemplo, você pode sincronizar todos os contatos em sua pasta de contatos raiz. Se você tiver outras pastas de Contatos, precisará sincronizar cada uma delas individualmente.

A sincronização suporta apenas a sincronização completa; Todos os contatos na pasta especificada são retornados com cada solicitação.

Sincronizar uma pasta de contatos normalmente requer duas ou mais solicitações GET. A solicitação GET é feita de maneira muito parecida com a que você obtém contatos, a diferença é que você adiciona os seguintes cabeçalhos de solicitação.

  • Você deve especificar o cabeçalho Prefer: odata.track-changes em todas as suas solicitações de sincronização.

  • Você pode especificar o cabeçalho Prefer: odata.maxpages = {n} para definir o número máximo de contatos retornados em cada solicitação.

    A segunda e as subsequentes solicitações GET diferem da primeira, pois incluem um deltaToken ou um skipToken recebido em uma resposta anterior.

    A resposta inicial a uma solicitação de sincronização sempre retorna um deltaToken. Você deve sempre fazer uma segunda solicitação GET usando o deltaToken para determinar se há contatos adicionais. A segunda solicitação retornará contatos adicionais e um skipToken se houver mais contatos disponíveis, ou um deltaToken se o último contato foi enviado.

Escopo mínimo necessário

Uma das seguintes opções:

GET https://outlook.office.com/api/v2.0/me/Contacts
GET https://outlook.office.com/api/v2.0/me/ContactFolders/{folderName}
Parâmetro obrigatório Tipo Descrição
Parâmetros do cabeçalho
Preferir odata.track-changes Indica que a solicitação é uma solicitação de sincronização.
Preferir odata.maxpagesize Define o número de contatos retornados em cada resposta.
Parâmetro de URL
folderName sequência de caracteres O nome da pasta a ser sincronizada.
odata.deltaLink Sequência de caracteres O token que indica a última vez que a pasta foi sincronizada.
odata.skiptoken Sequência de caracteres O token que indica que há mais mensagens para download.

Tipo de resposta

Uma coleção contendo os contatos solicitados e um deltaToken que você usa para solicitar páginas adicionais de dados de contatos do servidor e uma sincronização incremental. Se o número de contatos retornados for maior que o valor especificado no cabeçalho odata.maxpagesize a resposta será retornada em várias páginas.

A resposta incluirá um cabeçalho Preference-Applied: odata-trackchanges. Se você tentar sincronizar um recurso que não é suportado, esse cabeçalho não será retornado na resposta. Verifique esse cabeçalho antes de processar a resposta para evitar erros.

Observação

Por padrão, a resposta inclui todas as propriedades dos contatos especificados. Use $select para especificar apenas as propriedades que você precisa para o melhor desempenho. A propriedade Id é sempre retornada. Não use $filter, $orderby, $search ou $top, pois não são suportados para sincronizar contatos ou pastas de contatos. Consulte Parâmetros de consulta OData para mais detalhes.

Exemplos

Solicitação inicial para uma sincronização completa:

GET https://outlook.office.com/api/v2.0/Me/Contacts

Inclua os seguintes cabeçalhos:

  • Prefer: odata.track-changes
  • Prefer: odata.maxpagesize=100

Segunda solicitação para o servidor após uma solicitação de sincronização completa:

https://outlook.office.com/api/v2.0/Me/Contacts/?%24deltatoken=169ca50467d34d9fb8adb664961b9836

Inclua os seguintes cabeçalhos:

  • Prefer: odata.track-changes
  • Prefer: odata.maxpagesize=100

Segunda resposta do servidor com páginas adicionais disponíveis:

Cabeçalho

Preference-Applied: odata.track-changes

Corpo

@odata.deltaLink=https://outlook.office.com/api/v2.0/me/Contacts/messages/?%24skiptoken=169ca50467d34d9fb8adb664961b9836

Mensagens de conteúdo


Segunda ou subsequente resposta do servidor quando todos os contatos foram enviados:

Cabeçalho

Preference-Applied: odata.track-changes

Corpo

@odata.deltaLink=https://outlook.office.com/api/v2.0/me/Contacts/?%24deltatoken=169ca50467d34d9fb8adb664961b9836

Mensagens de conteúdo


Solicitação para o servidor quando páginas adicionais estiverem disponíveis:

https://outlook.office.com/api/v2.0/Me/Contacts/?%24skiptoken=169ca50467d34d9fb8adb664961b9836

Inclua os seguintes cabeçalhos.

  • Prefer: odata.track-changes
  • Prefer: odata.maxpagesize=100

Criar contatos

Crie um contato na pasta de Contatos especificada.

Criar um contato

Escopo mínimo necessário

Uma das seguintes opções:

Adicione um contato na pasta de contatos raiz ou no ponto de extremidade de contacts de outra pasta de contatos.

POST https://outlook.office.com/api/v2.0/me/contacts
POST https://outlook.office.com/api/v2.0/me/contactfolders/{contact_folder_id}/contacts
Parâmetro obrigatório Tipo Descrição
Parâmetros de URL
contact_folder_id sequência de caracteres ID da pasta de contatos, se você estiver criando um contato em uma pasta de contatos específica.
Parâmetros de corpo
GivenName sequência de caracteres O nome dado ao contato.

Especifique o parâmetro GivenName e quaisquer propriedades graváveis de contato no corpo da solicitação.

Exemplo de solicitação

POST https://outlook.office.com/api/v2.0/me/contacts
Content-Type: application/json

{
  "GivenName": "Pavel",
  "Surname": "Bansky",
  "EmailAddresses": [
    {
      "Address": "pavelb@a830edad9050849NDA1.onmicrosoft.com",
      "Name": "Pavel Bansky"
    }
  ],
  "BusinessPhones": [
    "+1 732 555 0102"
  ]
}

Resposta de amostra

Status code: 201

{
  "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Contacts/$entity",
  "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Contacts('AAMkAGE0M4xqVAAA=')",
  "@odata.etag": "W/\"EQAAABYAAAAmP1Ln1wcHRariNdTMGAO9AAAV41eC\"",
  "Id": "AAMkAGE0M4xqVAAA=",
  "ChangeKey": "EQAAABYAAAAmP1Ln1wcHRariNdTMGAO9AAAV41eC",
  "Categories": [],
  "CreatedDateTime": "2014-10-22T20:38:18Z",
  "LastModifiedDateTime": "2014-10-22T20:38:19Z",
  "ParentFolderId": "AAMkAGE0MAAEOAAA=",
  "Birthday": null,
  "FileAs": "",
  "DisplayName": "Pavel Bansky",
  "GivenName": "Pavel",
  "Initials": null,
  "MiddleName": null,
  "NickName": null,
  "Surname": "Bansky",
  "Title": null,
  "Generation": null,
  "EmailAddresses": [
    {
      "Address": "pavelb@a830edad9050849NDA1.onmicrosoft.com",
      "Name": "Pavel Bansky"
    },
    null,
    null
  ],
  "ImAddresses": [
    null,
    null,
    null
  ],
  "JobTitle": null,
  "CompanyName": null,
  "Department": null,
  "OfficeLocation": null,
  "Profession": null,
  "BusinessHomePage": null,
  "AssistantName": null,
  "Manager": null,
  "HomePhones": [
    null,
    null
  ],
  "BusinessPhones": [
    "+1 732 555 0102",
    null
  ],
  "MobilePhone1": null,
  "HomeAddress": {
    "Street": null,
    "City": null,
    "State": null,
    "CountryOrRegion": null,
    "PostalCode": null
  },
  "BusinessAddress": {
    "Street": null,
    "City": null,
    "State": null,
    "CountryOrRegion": null,
    "PostalCode": null
  },
  "OtherAddress": {
    "Street": null,
    "City": null,
    "State": null,
    "CountryOrRegion": null,
    "PostalCode": null
  },
  "SpouseName": null,
  "PersonalNotes": null,
  "Children": [],
  "YomiSurname": null,
  "YomiGivenName": null,
  "YomiCompanyName": null
}

Tipo de resposta

O novo contato.

Atualizar contatos

Alterar as propriedades de um contato.

Atualizar um contato

Escopo mínimo necessário

Uma das seguintes opções:

Especifique quaisquer propriedades graváveis de contato no corpo da solicitação. Apenas as propriedades especificadas são alteradas.

PATCH https://outlook.office.com/api/v2.0/me/contacts/{contact_id}
Parâmetro obrigatório Tipo Descrição
Parâmetros de URL
contact_id sequência de caracteres A ID do contato.

Exemplo de solicitação

PATCH https://outlook.office.com/api/v2.0/me/contacts/AAMkAGI2THkzAAA=
Content-Type: application/json

{
  "HomeAddress": {
    "Street": "Some street",
    "City": "Seattle",
    "State": "WA",
    "PostalCode": "98121"
  },
  "Birthday": "1974-07-22"
}

Resposta de amostra

Status code: 200

{
  "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Contacts/$entity",
  "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Contacts('AAMkAGI2THkzAAA=')",
  "@odata.etag": "W/\"EQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTIa3\"",
  "Id": "AAMkAGI2THkzAAA=",
  "ChangeKey": "EQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTIa3",
  "Categories": [],
  "CreatedDateTime": "2014-10-19T23:08:18Z",
  "LastModifiedDateTime": "2014-10-19T23:08:18Z",
  "ParentFolderId": "AAMkAGI2AAEOAAA=",
  "Birthday": "1974-07-22T00:00:00Z",
  "FileAs": "Schorr, Janet",
  "DisplayName": "Janet Schorr",
  "GivenName": "Janet",
  "Initials": null,
  "MiddleName": null,
  "NickName": null,
  "Surname": "Schorr",
  "Title": null,
  "Generation": null,
  "EmailAddresses": [
    {
      "Address": "janets@a830edad9050849NDA1.onmicrosoft.com",
      "Name": "janets@a830edad9050849NDA1.onmicrosoft.com"
    },
    null,
    null
  ],
  "ImAddresses": [
    "sip:janets@a830edad9050849nda1.onmicrosoft.com",
    null,
    null
  ],
  "JobTitle": "Product Marketing Manager",
  "CompanyName": null,
  "Department": "Sales & Marketing",
  "OfficeLocation": "18/2111",
  "Profession": null,
  "BusinessHomePage": null,
  "AssistantName": null,
  "Manager": null,
  "HomePhones": [
    null,
    null
  ],
  "BusinessPhones": [
    "+1 425 555 0109",
    null
  ],
  "MobilePhone1": null,
  "HomeAddress": {
    "Street": "Some street",
    "City": "Seattle",
    "State": "WA",
    "CountryOrRegion": null,
    "PostalCode": "98121"
  },
  "BusinessAddress": {
    "Street": null,
    "City": null,
    "State": null,
    "CountryOrRegion": null,
    "PostalCode": null
  },
  "OtherAddress": {
    "Street": null,
    "City": null,
    "State": null,
    "CountryOrRegion": null,
    "PostalCode": null
  },
  "SpouseName": null,
  "PersonalNotes": null,
  "Children": [],
  "YomiSurname": null,
  "YomiGivenName": null,
  "YomiCompanyName": null
}

Tipo de resposta

O contato atualizado.

Excluir contatos

Exclui um contato. O conteúdo excluído pode não ser recuperável.

Para saber mais, confira Como excluir itens usando o EWS no Exchange.

Excluir um contato

Escopo mínimo necessário

Uma das seguintes opções:

DELETE https://outlook.office.com/api/v2.0/me/contacts/{contact_id}
Parâmetro obrigatório Tipo Descrição
Parâmetros de URL
contact_id sequência de caracteres A ID do contato.

Exemplo de solicitação

DELETE https://outlook.office.com/api/v2.0/me/contacts/AAMkAGE0Myy2hAAA=

Resposta de amostra

Status code: 204

Obter pastas de contatos

Você pode obter uma coleção de pastas de contatos ou uma única pasta de contatos.

Obter uma coleção de pastas de contatos

Escopo mínimo necessário

Uma das seguintes opções:

Obtenha a coleção de pastas de contatos da pasta padrão de Contatos do usuário conectado (.../me/contactfolders), ou da pasta de contatos especificada.

GET https://outlook.office.com/api/v2.0/me/contactfolders
GET https://outlook.office.com/api/v2.0/me/contactfolders/{contact_folder_id}/childfolders

Observação

Confira Parâmetros de consulta do OData para ver parâmetros de filtragem, classificação e paginação.

Parâmetro obrigatório Tipo Descrição
Parâmetros de URL
contact_folder_id sequência de caracteres ID da pasta de contatos, se você estiver obtendo pastas de contatos de uma pasta de contatos específica.

Exemplo de solicitação

GET https://outlook.office.com/api/v2.0/me/contactfolders

Resposta de amostra

Código de status: 200

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/ContactFolders",
    "value": [
        {
            "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/ContactFolders('AAMkAGI2TKI5AAA=')",
            "Id": "AAMkAGI2TKI5AAA=",
            "ParentFolderId": "AAMkAGI2AAEOAAA=",
            "DisplayName": "Finance"
        }
    ]
}

Tipo de resposta

A coleção de pastas de contatos solicitada.

Obter uma pasta de contatos

Escopo mínimo necessário

Uma das seguintes opções:

Obtenha uma pasta de contatos usando a respectiva ID.

GET https://outlook.office.com/api/v2.0/me/contactfolders/{contact_folder_id}

Observação

Confira Parâmetros de consulta do OData para ver parâmetros de filtragem, classificação e paginação.

Parâmetro obrigatório Tipo Descrição
Parâmetros de URL
contact_folder_id sequência de caracteres ID da pasta de contatos.

Exemplo de solicitação

GET https://outlook.office.com/api/v2.0/me/contactfolders/AAMkAGI2TKI5AAA=

Resposta de amostra

Status code: 200

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/ContactFolders/$entity",
    "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/ContactFolders('AAMkAGI2TKI5AAA=')",
    "Id": "AAMkAGI2TKI5AAA=",
    "ParentFolderId": "AAMkAGI2AAEOAAA=",
    "DisplayName": "Finance"
}

Tipo de resposta

A pasta de contatos solicitada.

Obter foto e metadados do contato

Obter foto de contato

Escopo mínimo necessário

Uma das seguintes opções:

Obtenha a foto de contato do usuário conectado especificado.

GET https://outlook.office.com/api/v2.0/me/contacts('{contact_id}')/photo/$value
Parâmetro obrigatório Tipo Descrição
Parâmetros de URL
contact_id sequência de caracteres ID que especifica o contato do usuário conectado.

Exemplo de solicitação

GET https://outlook.office.com/api/v2.0/me/contacts('AAMkAGE1M2IyNGNm===')/photo/$value
Content-Type: image/jpg

Dados de resposta

Contém os dados binários da foto solicitada. O código de resposta HTTP é 200.

A operação retornará HTTP 404 se o contato ainda não tiver uma foto de contato no Exchange Online.

Obter metadados da foto de contato

Escopo mínimo necessário

Uma das seguintes opções:

Obtenha os metadados de uma foto de contato, que incluem o tipo de conteúdo, largura e altura em pixels.

GET https://outlook.office.com/api/v2.0/me/contacts('{contact_id}')/photo
Parâmetro obrigatório Tipo Descrição
Parâmetros de URL
contact_id sequência de caracteres ID que especifica o contato do usuário conectado.

Exemplo de solicitação

GET https://outlook.office.com/api/v2.0/me/contacts('AAMkAGE1M2IyNGNm')/photo

Dados de resposta da amostra

Uma solicitação bem-sucedida retorna HTTP 200.

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Contacts('AAMkAGE1M2IyNGNm')/photo/$entity",
    "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-b826-40d7-b48b-57002df800e5@1717622f-49d1-4d0c-9d74-709fad664b77')/contacts('AAMkAGE1M2IyNGNm')/photo",
    "@odata.readLink": "https://outlook.office.com/api/v2.0/Users('ddfcd489-b826-40d7-b48b-57002df800e5@1717622f-49d1-4d0c-9d74-709fad664b77')/contacts('AAMkAGE1M2IyNGNm')/photo",
    "@odata.mediaContentType": "image/jpeg",
    "Id": "103X77",
    "Width": 103,
    "Height": 77
}

Definir foto de contato

Escopo mínimo necessário

Uma das seguintes opções:

Atribua uma foto ao contato do usuário conectado especificado. A foto deve estar em binário. Ela substitui qualquer foto existente para esse contato.

Você pode usar PATCH ou PUT para essa operação na versão 2.0.

PATCH https://outlook.office.com/api/v2.0/me/contacts('{contact_id}')/photo/$value

PUT https://outlook.office.com/api/v2.0/me/contacts('{contact_id}')/photo/$value
Parâmetro obrigatório Tipo Descrição
Parâmetros de URL
contact_id sequência de caracteres ID que especifica o contato do usuário conectado.

Exemplo de solicitação

PUT https://outlook.office.com/api/v2.0/me/contacts('AAMkAGE1M2IyNGNm===')/photo/$value
Content-Type: image/jpeg

Inclui os dados binários da foto no corpo da solicitação.

Dados de resposta

Uma solicitação bem-sucedida retorna HTTP 200.

Próximas etapas

Se você estiver pronto para começar a criar um aplicativo ou apenas quiser aprender mais, temos tudo o que você precisa.

Se preferir, aprenda mais sobre como usar a plataforma do Office 365: