Get profilePhoto

Namespace: microsoft.graph

Obtenha a profilePhoto específica ou seus metadados (propriedades profilePhoto).

Os tamanhos suportados das fotos em HD do Microsoft 365 são os seguintes: 48x48, 64x64, 96x96, 120x120, 240x240, 360x360, 432x432, 504x504 e 648x648. As fotos podem ser qualquer dimensão se estiverem armazenadas em Microsoft Entra ID.

Você pode obter os metadados da maior foto disponível ou especificar um tamanho para obter os metadados para aquele tamanho de foto. Se o tamanho solicitado não estiver disponível, você ainda poderá obter um tamanho menor que o usuário carregou e disponibilizou. Por exemplo, se o usuário carregar uma foto de 504x504 pixels, todos, exceto o tamanho 648x648 da foto, estão disponíveis para download.

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

As tabelas a seguir mostram a permissão ou permissões menos privilegiadas necessárias para chamar essa API em cada tipo de recurso com suporte. Siga as melhores práticas para solicitar as permissões menos privilegiadas. 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.

Para recuperar a foto do perfil de um contato

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

Para recuperar a foto do perfil de um grupo

Tipo de permissão Permissões menos privilegiadas Permissões privilegiadas mais altas
Delegado (conta corporativa ou de estudante) Group.Read.All Group.ReadWrite.All
Delegado (conta pessoal da Microsoft) Sem suporte. Sem suporte.
Aplicativo Group.Read.All Group.ReadWrite.All

Para recuperar o foto de perfil de uma equipe

Tipo de permissão Permissões menos privilegiadas Permissões privilegiadas mais altas
Delegada (conta corporativa ou de estudante) Team.ReadBasic.All TeamSettings.Read.All, TeamSettings.ReadWrite.All
Delegado (conta pessoal da Microsoft) Sem suporte. Sem suporte.
Application Team.ReadBasic.All TeamSettings.Read.All, TeamSettings.ReadWrite.All

Para recuperar a foto do perfil de um usuário

Tipo de permissão Permissões menos privilegiadas Permissões privilegiadas mais altas
Delegado (conta corporativa ou de estudante) User.Read User.ReadBasic.All, User.Read.All, User.ReadWrite, User.ReadWrite.All
Delegado (conta pessoal da Microsoft) User.Read User.ReadWrite
Aplicativo User.Read.All User.ReadWrite.All

Observação

  • Não há suporte para a operação de metadados para contas pessoais da Microsoft.
  • Um aplicativo com apenas permissões de aplicativo não pode acessar a foto de um grupo.
  • Atualmente, não há suporte para recuperar a foto de um usuário usando o microsoft API do Graph em Azure AD locatários B2C.

Solicitação HTTP

Obter a foto

GET /me/photo/$value
GET /users/{id | userPrincipalName}/photo/$value
GET /groups/{id}/photo/$value
GET /me/contacts/{id}/photo/$value
GET /users/{id | userPrincipalName}/contacts/{id}/photo/$value
GET /me/contactfolders/{contactFolderId}/contacts/{id}/photo/$value
GET /users/{id | userPrincipalName}/contactfolders/{contactFolderId}/contacts/{id}/photo/$value
GET /team/{id}/photo/$value

Obter os metadados da foto

GET /me/photo
GET /me/photos
GET /users/{id | userPrincipalName}/photo
GET /groups/{id}/photo
GET /me/contacts/{id}/photo
GET /users/{id | userPrincipalName}/contacts/{id}/photo
GET /me/contactfolders/{contactFolderId}/contacts/{id}/photo
GET /users/{id | userPrincipalName}/contactfolders/{contactFolderId}/contacts/{id}/photo
GET /team/{id}/photo

Obter os metadados de um tamanho de página específica.

GET /me/photos/{size}
GET /users/{id | userPrincipalName}/photos/{size}
GET /groups/{id}/photos/{size}

Parâmetros do caminho

Parâmetro Tipo Descrição
tamanho Cadeia de caracteres Um tamanho de foto. Os tamanhos suportados das fotos em HD do Microsoft 365 são os seguintes: 48x48, 64x64, 96x96, 120x120, 240x240, 360x360, 432x432, 504x504 e 648x648. As fotos podem ser qualquer dimensão se estiverem armazenadas em Microsoft Entra ID.

Parâmetros de consulta opcionais

Este método dá suporte a Parâmetros de consulta OData para ajudar a personalizar a resposta.

Cabeçalhos de solicitação

Nome Tipo Descrição
Autorização string {token} de portador. Obrigatório.

Corpo da solicitação

Não forneça um corpo de solicitação para esse método.

Resposta

Resposta para obter a foto

Se for bem-sucedido, este método retornará um código de resposta 200 OK e dados binários da foto solicitada. Se não existirem fotos, a operação retornará 404 Not Found.

Resposta para obter os metadados da foto

Se bem-sucedido, este método retorna o código de resposta 200 OK e o objeto profilePhoto no corpo da resposta.

Exemplos

Exemplo 1: Obter a foto do usuário conectado com o maior tamanho disponível

Solicitação

GET https://graph.microsoft.com/v1.0/me/photo/$value

Resposta

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

HTTP/1.1 200 OK

Exemplo 2: Obtenha foto 48 x 48 para usuário conectado

Solicitação

GET https://graph.microsoft.com/v1.0/me/photos/48x48/$value
Content-Type: image/jpg

Observação

Para garantir um tamanho fixo para a foto de saída, use o ponto de extremidade dedicado para fotos (/fotos) com tamanhos fixos em vez de depender do ponto de extremidade de foto padrão (/foto), que fornece a maior foto disponível.

Resposta

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

HTTP/1.1 200 OK

Exemplo 3: Esta solicitação obtém os metadados da foto do usuário conectado.

Solicitação

GET https://graph.microsoft.com/v1.0/me/photo

Resposta

Os dados de resposta a seguir mostram os metadados da foto.

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/v1.0/$metadata#Me/photo/$entity",
    "@odata.id": "https://graph.microsoft.com/v1.0/users('ddfcd489-628b-7d04-b48b-20075df800e5@1717622f-1d94-c0d4-9d74-f907ad6677b4')/photo",
    "@odata.mediaContentType": "image/jpeg",
    "@odata.mediaEtag": "\"BA09D118\"",
    "id": "240x240",
    "width": 240,
    "height": 240
}

Os dados de resposta a seguir mostram o conteúdo de uma resposta quando uma foto ainda não foi carregada para o usuário.

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/v1.0/$metadata#Me/photo/$entity",
    "@odata.id": "https://graph.microsoft.com/v1.0/users('ddfcd489-628b-7d04-b48b-20075df800e5@1717622f-1d94-c0d4-9d74-f907ad6677b4')/photo",
    "@odata.mediaContentType": "image/gif",
    "@odata.mediaEtag": "",
    "id": "1x1",
    "width": 1,
    "height": 1
}

Exemplo 4: Obter os metadados da foto da equipe

Solicitação

O exemplo a seguir mostra uma solicitação para obter os metadados da foto da equipe.

GET https://graph.microsoft.com/v1.0/teams/172b0cce-e65d-44ce-9a49-91d9f2e8491e/photo

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/v1.0/$metadata#teams('172b0cce-e65d-44ce-9a49-91d9f2e8491e')/photo/$entity",
    "@odata.id": "https://graph.microsoft.com/v1.0/teams('172b0cce-e65d-44ce-9a49-91d9f2e8491e')/photo",
    "@odata.mediaContentType": "image/jpeg",
    "@odata.mediaEtag": "\"BA09D118\"",
    "id": "240X240",
    "width": 240,
    "height": 240
}

Exemplo 5: Obter os dados binários da foto da equipe

O exemplo a seguir mostra uma solicitação para obter os dados binários da foto da equipe.

Solicitação

GET https://graph.microsoft.com/v1.0/teams/172b0cce-e65d-44ce-9a49-91d9f2e8491e/photo/$value

Resposta

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

HTTP/1.1 200 OK

Usando os dados binários da foto solicitada

Quando você usa o /photo/$value ponto de extremidade para obter os dados binários de um foto de perfil, você precisa converter os dados em uma cadeia de caracteres base-64 para adicioná-los como um anexo de email. Veja aqui um exemplo no JavaScript de como criar uma matriz que você pode passar como o valor do parâmetro Attachments de uma Mensagem do Outlook.

const attachments = [{
  '@odata.type': '#microsoft.graph.fileAttachment',
  ContentBytes: file.toString('base64'),
  Name: 'mypic.jpg'
}];

Para obter detalhes da implementação, consulte o Exemplo de Conexão do Microsoft Graph para Node.js.

Se quiser exibir a imagem em uma página da Web, crie um objeto de memória usando a imagem e torne esse objeto a fonte de um elemento de imagem. O exemplo javaScript a seguir mostra essa operação.

const url = window.URL || window.webkitURL;
const blobUrl = url.createObjectURL(image.data);
document.getElementById(imageElement).setAttribute("src", blobUrl);