Partager via


Obtenir profilePhoto

Espace de noms: microsoft.graph

Obtenez l’élément profilePhoto spécifié ou ses métadonnées (propriétés profilePhoto).

Les tailles de photos HD prises en charge sur Office 365 sont les suivantes : « 48 x 48 », « 64 x 64 », « 96 x 96 », « 120 x 120 », « 240 x 240 », « 360 x 360 », « 432 x 432 », « 504 x 504 » et « 648 x 648 ». Les photos peuvent être n’importe quelle dimension si elles sont stockées dans l’ID Microsoft Entra.

Vous pouvez obtenir les métadonnées de la plus grande photo disponible ou spécifier une taille pour obtenir les métadonnées de cette taille de photo. Si la taille demandée n’est pas disponible, vous pouvez toujours obtenir une taille plus petite que l’utilisateur a chargée et mise à disposition. Par exemple, si l’utilisateur charge une photo de 504 x 504 pixels, la taille de la photo est disponible au téléchargement, sauf la taille de 648 x 648.

Cette API est disponible dans les déploiements de cloud national suivants.

Service global Gouvernement des États-Unis L4 Us Government L5 (DOD) Chine gérée par 21Vianet

Autorisations

Les tableaux suivants indiquent l’autorisation ou les autorisations les moins privilégiées requises pour appeler cette API sur chaque type de ressource pris en charge. Suivez les bonnes pratiques pour demander les autorisations les moins privilégiées. Pour plus d’informations sur les autorisations déléguées et d’application, consultez Types d’autorisations. Pour en savoir plus sur ces autorisations, consultez les informations de référence sur les autorisations.

Pour récupérer la photo de profil d’un contact

Type d’autorisation Autorisations avec privilèges minimum Autorisations privilégiées plus élevées
Déléguée (compte professionnel ou scolaire) Contacts.Read Contacts.ReadWrite
Déléguée (compte Microsoft personnel) Contacts.Read Contacts.ReadWrite
Application Contacts.Read Contacts.ReadWrite

Pour récupérer la photo de profil d’un groupe

Type d’autorisation Autorisations avec privilèges minimum Autorisations privilégiées plus élevées
Déléguée (compte professionnel ou scolaire) ProfilePhoto.Read.All ProfilePhoto.ReadWrite.All, Group.Read.All, Group.ReadWrite.All
Déléguée (compte Microsoft personnel) Non prise en charge. Non prise en charge.
Application ProfilePhoto.Read.All ProfilePhoto.ReadWrite.All, Group.Read.All, Group.ReadWrite.All

Pour récupérer la photo de profil d’une équipe

Type d’autorisation Autorisations avec privilèges minimum Autorisations privilégiées plus élevées
Déléguée (compte professionnel ou scolaire) Team.ReadBasic.All TeamSettings.Read.All, TeamSettings.ReadWrite.All
Déléguée (compte Microsoft personnel) Non prise en charge. Non prise en charge.
Application Team.ReadBasic.All TeamSettings.Read.All, TeamSettings.ReadWrite.All

Pour récupérer la photo de profil d’un utilisateur

Type d’autorisation Autorisations avec privilèges minimum Autorisations privilégiées plus élevées
Déléguée (compte professionnel ou scolaire) ProfilePhoto.Read.All ProfilePhoto.ReadWrite.All, User.Read, User.ReadBasic.All, User.Read.All, User.ReadWrite, User.ReadWrite.All
Déléguée (compte Microsoft personnel) User.Read User.ReadWrite
Application ProfilePhoto.Read.All ProfilePhoto.ReadWrite.All, User.Read.All, User.ReadWrite.All

Remarque

  • La récupération de la photo d’un utilisateur à l’aide de l’API Microsoft Graph n’est actuellement pas prise en charge dans les locataires Azure AD B2C.

Requête HTTP

Obtenir la 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
GET /team/{id}/photo/$value

Obtenir les métadonnées de la 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
GET /team/{id}/photo

Obtenez les métadonnées pour une taille de photo spécifique.

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

Paramètres du chemin d’accès

Paramètre Type Description
taille String Taille de photo. Les tailles de photos HD prises en charge sur Office 365 sont les suivantes : « 48 x 48 », « 64 x 64 », « 96 x 96 », « 120 x 120 », « 240 x 240 », « 360 x 360 », « 432 x 432 », « 504 x 504 » et « 648 x 648 ». Les photos peuvent être n’importe quelle dimension si elles sont stockées dans l’ID Microsoft Entra.

Paramètres facultatifs de la requête

Cette méthode prend en charge les paramètres de requête OData pour vous aider à personnaliser la réponse.

En-têtes de demande

Nom Type Description
Autorisation string Porteur {token}. Obligatoire. En savoir plus sur l’authentification et l’autorisation.

Corps de la demande

N’indiquez pas le corps de la demande pour cette méthode.

Réponse

Réponse pour obtenir la photo

Si elle réussit, cette méthode renvoie un code de réponse 200 OK et des données binaires de la photo demandée. Si aucune photo n’existe, l’opération renvoie 404 Not Found.

Réponse pour obtenir les métadonnées de la photo

Si elle réussit, cette méthode renvoie un code de réponse 200 OK et un objet profilePhoto dans le corps de la réponse.

Exemples

Exemple 1 : obtenir la photo de l’utilisateur connecté, au plus grand format disponible

Demande

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

Réponse

Contient les données binaires de la photo demandée. Le code de la réponse HTTP est 200.

HTTP/1.1 200 OK

Exemple 2: Cette demande obtient la photo 48 x 48 pour l’utilisateur connecté.

Demande

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

Remarque

Pour garantir une taille fixe pour la photo de sortie, utilisez le point de terminaison dédié pour les photos (/photos) avec des tailles fixes au lieu de vous appuyer sur le point de terminaison photo par défaut (/photo), qui fournit la plus grande photo disponible.

Réponse

Contient les données binaires de la photo demandée de dimensions 48 x 48. Le code de la réponse HTTP est 200.

HTTP/1.1 200 OK

Exemple 3: Cette requête obtient les métadonnées de la photo de l’utilisateur connecté.

Demande

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

Réponse

Les données de la réponse suivante indiquent les métadonnées de la photo.

Remarque : l’objet de réponse affiché ci-après peut être raccourci pour plus de lisibilité.

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
}

Les données de la réponse suivante indiquent le contenu d’une réponse lorsqu’ aucune photo n’a pas encore été téléchargée pour l’utilisateur.

Remarque : l’objet de réponse affiché ci-après peut être raccourci pour plus de lisibilité.

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
}

Exemple 4 : Obtenir les métadonnées de la photo d’équipe

Demande

L’exemple suivant montre une demande d’obtention des métadonnées de la photo d’équipe.

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

Réponse

L’exemple suivant illustre la réponse.

Remarque : l’objet de réponse affiché ci-après peut être raccourci pour plus de lisibilité.

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
}

Exemple 5 : Obtenir les données binaires de la photo d’équipe

L’exemple suivant montre une demande d’obtention des données binaires de la photo d’équipe.

Demande

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

Réponse

Contient les données binaires de la photo demandée. Le code de la réponse HTTP est 200.

HTTP/1.1 200 OK

Utilisation des données binaires de la photo demandée

Lorsque vous utilisez le /photo/$value point de terminaison pour obtenir les données binaires d’une photo de profil, vous devez convertir les données en chaîne en base 64 pour les ajouter en tant que pièce jointe d’e-mail. Voici un exemple dans JavaScript montrant comment créer un tableau que vous pouvez transmettre en tant que valeur du paramètre Attachments d’un message Outlook.

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

Pour plus d’informations sur l’implémentation, consultez l’exemple de connexion Microsoft Graph pour Node.js.

Si vous voulez afficher l’image sur une page web, créez un objet en mémoire à partir de l’image et faites-en la source d’un élément image. L’exemple JavaScript suivant illustre cette opération.

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