Obter fotoGet photo

Namespace: microsoft.graphNamespace: microsoft.graph

Obtenha a profilePhoto especificada ou seus metadados (propriedades de profilePhoto).Get the specified profilePhoto or its metadata (profilePhoto properties).

Observação Esta operação na versão 1.0 é compatível com caixas de correio corporativas ou de estudante ou caixas de correio não pessoais dos usuáriosNote This operation in version 1.0 supports only a user's work or school mailboxes and not personal mailboxes.

Os tamanhos suportados das fotos em HD do Microsoft 365 são os seguintes: 48x48, 64x64, 96x96, 120x120, 240x240, 360x360, 432x432, 504x504 e 648x648.The supported sizes of HD photos on Microsoft 365 are as follows: 48x48, 64x64, 96x96, 120x120, 240x240, 360x360, 432x432, 504x504, and 648x648. As fotos podem ser de todos os tamanhos, desde que estejam armazenadas no Azure Active Directory.Photos can be any dimension if they are stored in Azure Active Directory.

Você pode obter os metadados da maior foto disponível ou especificar um tamanho para obter os metadados do tamanho dessa foto.You can get the metadata of the largest available photo, or specify a size to get the metadata for that photo size. Se o tamanho solicitado não estiver disponível, você ainda poderá obter um tamanho menor que o usuário carregou e disponibilizou.If the size you request is not available, you can still get a smaller size that the user has uploaded and made available. Por exemplo, se o usuário carrega uma foto de 504 x 504 pixels, tudo menos o tamanho 648 x 648 da foto estará disponível para download.For example, if the user uploads a photo that is 504x504 pixels, all but the 648x648 size of photo will be available for download.

PermissõesPermissions

Uma das seguintes permissões é obrigatória para chamar esta API. Para saber mais, incluindo como escolher permissões, confira Permissões.One of the following permissions is required to call this API. To learn more, including how to choose permissions, see Permissions.

Tipo de permissãoPermission type Permissões (da com menos para a com mais privilégios)Permissions (from least to most privileged)
Delegado (conta corporativa ou de estudante)Delegated (work or school account) Para recurso de usuário:For user resource:
User.Read, User.ReadBasic.All, User.Read.All, User.ReadWrite, User.ReadWrite.AllUser.Read, User.ReadBasic.All, User.Read.All, User.ReadWrite, User.ReadWrite.All

Para recurso de grupo:For group resource:
Group.Read.All, Group.ReadWrite.AllGroup.Read.All, Group.ReadWrite.All

Para recurso de contato:For contact resource:
Contacts.Read, Contacts.ReadWriteContacts.Read, Contacts.ReadWrite
Delegado (conta pessoal da Microsoft)Delegated (personal Microsoft account) Sem suporteNot supported
AplicativoApplication Para recurso de usuário:For user resource:
User.Read.All, User.ReadWrite.AllUser.Read.All, User.ReadWrite.All

Para recurso de grupo:For group resource:
Group.Read.All, Group.ReadWrite.AllGroup.Read.All, Group.ReadWrite.All

Para recurso de contato:For contact resource:
Contacts.Read, Contacts.ReadWriteContacts.Read, Contacts.ReadWrite

Observação: Há um problema conhecidoao acessar fotos de grupo usando permissões de aplicativo.Note: There is currently a known issue with accessing group photos using application permissions.

Solicitação HTTPHTTP request

Obter a fotoGet the photo

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

Obter os metadados da fotoGet the metadata of the photo

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

Obter os metadados de um tamanho de página específica.Get the metadata for a specific photo size

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

Parâmetros do caminhoPath parameters

ParâmetroParameter TipoType DescriçãoDescription
tamanhosize Cadeia de caracteresString Um tamanho de foto.A photo size. Os tamanhos suportados das fotos em HD do Microsoft 365 são os seguintes: 48x48, 64x64, 96x96, 120x120, 240x240, 360x360, 432x432, 504x504 e 648x648.The supported sizes of HD photos on Microsoft 365 are as follows: 48x48, 64x64, 96x96, 120x120, 240x240, 360x360, 432x432, 504x504, and 648x648. As fotos podem ser de todos os tamanhos, desde que estejam armazenadas no Azure Active Directory.Photos can be any dimension if they are stored in Azure Active Directory.

Parâmetros de consulta opcionaisOptional query parameters

Este método dá suporte a Parâmetros de consulta OData para ajudar a personalizar a resposta.This method supports the OData query parameters to help customize the response.

Cabeçalhos de solicitaçãoRequest headers

NomeName TipoType DescriçãoDescription
AutorizaçãoAuthorization stringstring {token} de portador. Obrigatório.Bearer {token}. Required.

Corpo da solicitaçãoRequest body

Não forneça um corpo de solicitação para esse método.Do not supply a request body for this method.

RespostaResponse

Resposta para obter a fotoResponse for getting the photo

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.If successful, this method returns a 200 OK response code and binary data of the requested photo. If no photo exists, the operation returns 404 Not Found.

Resposta para obter os metadados da fotoResponse for getting the metadata of the photo

Se bem-sucedido, este método retorna o código de resposta 200 OK e o objeto profilePhoto no corpo da resposta.If successful, this method returns a 200 OK response code and profilePhoto object in the response body.

ExemplosExamples

Exemplo 1: Obter a foto do usuário conectado com o maior tamanho disponívelExample 1: Get the photo for the signed-in user in the largest available size

SolicitaçãoRequest
GET https://graph.microsoft.com/v1.0/me/photo/$value
RespostaResponse

Contém os dados binários da foto solicitada.Contains the binary data of the requested photo. O código de resposta HTTP é 200.The HTTP response code is 200.

Exemplo 2: Obtenha foto 48 x 48 para usuário conectadoExample 2: Get the 48x48 photo for the signed-in user

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

Contém os dados binários da foto de 48x48 solicitada.Contains the binary data of the requested 48x48 photo. O código de resposta HTTP é 200.The HTTP response code is 200.

Exemplo 3: Esta solicitação obtém os metadados da foto do usuário conectado.Example 3: Get the metadata of the user photo of the signed-in user

SolicitaçãoRequest
GET https://graph.microsoft.com/v1.0/me/photo
RespostaResponse

Os dados de resposta a seguir mostram os metadados da foto.The following response data shows the photo metadata.

Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.Note: The response object shown here might be shortened for readability.

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.The following response data shows the contents of a response when a photo hasn't already been uploaded for the user.

Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.Note: The response object shown here might be shortened for readability.

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
}

Usando os dados binários da foto solicitadaUsing the binary data of the requested photo

Ao usar o ponto de extremidade /photo/$value para obter os dados binários de uma foto de perfil, você precisa converter os dados em uma cadeia de caracteres da base 64 para adicioná-la como um anexo de email.When you use the /photo/$value endpoint to get the binary data for a profile photo, you'll need to convert the data into a base-64 string in order to add it as an email attachment. 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.Here is an example in JavaScript of how to create an array that you can pass as the value of the Attachments parameter of an Outlook Message.

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

Confira Amostra de conexão do Microsoft Graph para Node.js para ver uma implementação desse exemplo.See the Microsoft Graph Connect Sample for Node.js for an implementation of this example.

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.If you want to display the image on a web page, create an in-memory object from the image and make that object the source of an image element. Veja aqui um exemplo dessa operação no JavaScript.Here is an example in JavaScript of this operation.

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