Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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 ter qualquer dimensão se estiverem armazenadas no 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 com 504 x 504 pixels, todos, exceto o tamanho 648 x 648 da foto, estarão disponíveis para download.
Essa API está disponível nas seguintes implantações de nuvem nacional.
| Serviço global | Governo dos EUA L4 | US Government 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 práticas recomendadas 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 com privilégios mais elevados |
|---|---|---|
| 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 com privilégios mais elevados |
|---|---|---|
| Delegado (conta corporativa ou de estudante) | ProfilePhoto.Read.All | ProfilePhoto.ReadWrite.All, Group.Read.All, Group.ReadWrite.All |
| Delegado (conta pessoal da Microsoft) | Sem suporte. | Sem suporte. |
| Application | ProfilePhoto.Read.All | ProfilePhoto.ReadWrite.All, Group.Read.All, Group.ReadWrite.All |
Para recuperar a foto de perfil de uma equipe
| Tipo de permissão | Permissões menos privilegiadas | Permissões com privilégios mais elevados |
|---|---|---|
| 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 com privilégios mais elevados |
|---|---|---|
| Delegado (conta corporativa ou de estudante) | ProfilePhoto.Read.All | ProfilePhoto.ReadWrite.All, User.Read, User.ReadBasic.All, User.Read.All, User.ReadWrite, User.ReadWrite.All |
| Delegado (conta pessoal da Microsoft) | User.Read | User.ReadWrite |
| Aplicativo | ProfilePhoto.Read.All | ProfilePhoto.ReadWrite.All, User.Read.All, User.ReadWrite.All |
Observação
- Recuperar a foto de um usuário usando a API do Graph Microsoft atualmente não é suportado em locatários do Azure AD B2C.
- Os usuários convidados podem exibir fotos de perfil de usuários, mesmo quando as configurações de acesso de usuário convidado estão definidas para a opção mais restritiva nas configurações de Identidades Externas do Azure Active Directory.
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 /teams/{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 /teams/{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 ter qualquer dimensão se estiverem armazenadas no 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. 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
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
Ao usar o /photo/$value ponto de extremidade para obter os dados binários para uma foto de perfil, você precisa converter os dados em uma cadeia de caracteres de 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 de implementação, consulte o Exemplo do Microsoft Graph Connect 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 de 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);