Get profilePhoto
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.
Obtenha a Foto do perfil especificado ou seus metadados (propriedades da Foto do perfil) no Microsoft 365.
Nota: ao tentar obter uma fotografia de utilizador , esta operação tenta primeiro obter a fotografia especificada do Microsoft 365. Se a fotografia não estiver disponível no Microsoft 365, a API trie para obter a fotografia do Microsoft Entra ID.
Os tamanhos suportados de fotos em HD no Microsoft 365 são os seguintes: 48x48, 64x64, 96x96, 120x120, 240x240, 360x360, 432x432, 504x504 e 648x648. As fotografias podem ter qualquer dimensão se estiverem armazenadas no ID do Microsoft Entra.
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 pedido não estiver disponível, ainda pode obter um tamanho mais pequeno que o utilizador carregou e disponibilizou. Por exemplo, se o utilizador carregar uma fotografia com 504x504 píxeis, tudo menos o tamanho da fotografia 648x648 está disponível para transferência. Se o tamanho especificado não estiver disponível na caixa de correio do utilizador ou no Microsoft Entra ID, o tamanho 1x1 é devolvido com o resto dos metadados.
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
As tabelas seguintes mostram as permissões ou permissões com menos privilégios necessárias para chamar esta API em cada tipo de recurso suportado. Siga as melhores práticas para pedir as permissões com menos privilégios. 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.
Para recuperar a foto do perfil de um contato
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 |
Para recuperar a foto do perfil de um grupo
Tipo de permissão | Permissões com menos privilégios | Permissões com privilégios superiores |
---|---|---|
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 obter a fotografia de perfil de uma equipa
Tipo de permissão | Permissões com menos privilégios | Permissões com privilégios superiores |
---|---|---|
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 com menos privilégios | Permissões com privilégios superiores |
---|---|---|
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
- A obtenção da fotografia de um utilizador com a Microsoft Graph API não é atualmente suportada nos inquilinos do Azure AD 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 fotografias podem ter qualquer dimensão se estiverem armazenadas no ID do Microsoft Entra. |
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
O exemplo a seguir mostra uma solicitação.
GET https://graph.microsoft.com/beta/me/photo/$value
Content-Type: image/jpg
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
O exemplo a seguir mostra uma solicitação.
GET https://graph.microsoft.com/beta/me/photos/48x48/$value
Content-Type: image/jpg
Observação
- Para garantir um tamanho fixo para a fotografia de saída, utilize o ponto final dedicado para fotografias com tamanhos fixos (/fotografias) em vez de depender do ponto final de fotografia predefinido, que fornece a maior fotografia (/fotografia) 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
O exemplo a seguir mostra uma solicitação.
GET https://graph.microsoft.com/beta/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/beta/$metadata#Me/photo/$entity",
"@odata.id": "https://graph.microsoft.com/beta/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/beta/$metadata#Me/photo/$entity",
"@odata.id": "https://graph.microsoft.com/beta/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 fotografia de equipa
Solicitação
O exemplo seguinte mostra um pedido para obter os metadados da fotografia de equipa.
GET https://graph.microsoft.com/beta/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/beta/$metadata#teams('172b0cce-e65d-44ce-9a49-91d9f2e8491e')/photo/$entity",
"@odata.id": "https://graph.microsoft.com/beta/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 fotografia de equipa
O exemplo seguinte mostra um pedido para obter os dados binários da fotografia de equipa.
Solicitação
GET https://graph.microsoft.com/beta/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 utiliza o /photo/$value
ponto final para obter os dados binários de uma fotografia de perfil, tem de converter os dados numa cadeia base 64 para adicioná-la como um anexo de e-mail. 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 sobre a implementação, veja 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 seguinte mostra esta operação.
const url = window.URL || window.webkitURL;
const blobUrl = url.createObjectURL(image.data);
document.getElementById(imageElement).setAttribute("src", blobUrl);