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 l’ID Microsoft Entra.
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 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, 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 de l’utilisateur ou l’ID Microsoft Entra, 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) | 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
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’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);