Obtenir profilePhoto

Espace de noms: microsoft.graph

Importante

Les API sous la version /beta dans Microsoft Graph sont susceptibles d’être modifiées. L’utilisation de ces API dans des applications de production n’est pas prise en charge. Pour déterminer si une API est disponible dans v1.0, utilisez le sélecteur Version .

Obtenir l’objet profilePhoto spécifié ou ses métadonnées (propriétés profilePhoto) depuis Microsoft 365.

Remarque : Lorsque vous tentez d’obtenir une photo d’utilisateur , cette opération tente d’abord de récupérer la photo spécifiée à partir de Microsoft 365. Si la photo n’est pas disponible dans Microsoft 365, l’API trie pour récupérer la photo à partir de Microsoft Entra ID.

Les tailles de photos HD prises en charge sur Microsoft 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 Microsoft Entra ID.

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, toutes les photos, sauf 648 x 648, peuvent être téléchargées. Si la taille spécifiée n’est pas disponible dans la boîte aux lettres ou Microsoft Entra ID de l’utilisateur, la taille 1x1 est retournée avec le reste des métadonnées.

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) 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.
  • Une application disposant uniquement des autorisations d’application ne peut pas accéder à la photo d’un groupe.
  • 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 n’importe quelle dimension si elles sont stockées dans Microsoft Entra ID.

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

L’exemple suivant illustre une demande.

GET https://graph.microsoft.com/beta/me/photo/$value
Content-Type: image/jpg

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

L’exemple suivant illustre une demande.

GET https://graph.microsoft.com/beta/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 avec des tailles fixes (/photos) au lieu de vous appuyer sur le point de terminaison photo par défaut, qui fournit la plus grande photo disponible (/photo).

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

L’exemple suivant illustre une demande.

GET https://graph.microsoft.com/beta/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/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
}

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/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
}

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/beta/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/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
}

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/beta/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’un photo de profil, vous devez convertir les données en chaîne de 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);