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 de n’importe quelle dimension si elles sont stockées dans Azure Active Directory.

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

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 des autorisations minimales. 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) Group.Read.All Group.ReadWrite.All
Déléguée (compte Microsoft personnel) Non prise en charge. Non prise en charge.
Application Group.Read.All Group.ReadWrite.All

Pour récupérer les 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) 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 User.Read.All User.ReadWrite.All

Remarque

  • L’opération de métadonnées n’est pas prise en charge pour les comptes Microsoft personnels.
  • Il existe actuellement un problème connu avec l’accès aux photos de groupe à l’aide des autorisations d’application.
  • La récupération de la photo d’un utilisateur à l’aide de Microsoft API 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 de n’importe quelle dimension si elles sont stockées dans Azure Active Directory.

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.

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.

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

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.

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

Voici un exemple de 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

Voici un exemple de 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

Voici un exemple de demande d’obtenir les 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.

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

Lorsque vous utilisez le point de terminaison /photo/$value pour obtenir les données binaires d’une photo de profil, vous devez convertir les données en une chaîne en base 64 pour l’ajouter en tant que pièce jointe d’un 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'
}];

Consultez l’article Exemple de connexion Microsoft Graph pour Node.js pour une implémentation de cet exemple.

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. Voici un exemple de cette opération dans JavaScript.

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