profilePhoto abrufen

Namespace: microsoft.graph

Wichtig

Die APIs unter der /beta Version in Microsoft Graph können sich ändern. Die Verwendung dieser APIs in Produktionsanwendungen wird nicht unterstützt. Um festzustellen, ob eine API in v1.0 verfügbar ist, verwenden Sie die Version Selektor.

Ruft das angegebene profilePhoto oder seine Metadaten (profilePhoto-Eigenschaften) bei Microsoft 365 ab.

Hinweis: Beim Versuch, ein Benutzerfoto abzurufen, versucht dieser Vorgang zunächst, das angegebene Foto aus Microsoft 365 abzurufen. Wenn das Foto in Microsoft 365 nicht verfügbar ist, versucht die API, das Foto von Microsoft Entra ID abzurufen.

Die unterstützten Größen der HD-Fotos in Microsoft 365 sind wie folgt: 48x48, 64x64, 96x96, 120x120, 240x240, 360x360, 432x432, 504x504 und 648x648. Fotos können eine beliebige Dimension sein, wenn sie in der Microsoft Entra ID gespeichert sind.

Sie können die Metadaten des größten verfügbaren Fotos abrufen oder eine Größe angeben, um die Metadaten für diese Fotogröße abzurufen. Wenn die angeforderte Größe nicht verfügbar ist, können Sie trotzdem eine kleinere Größe erhalten, die der Benutzer hochgeladen und zur Verfügung gestellt hat. Wenn der Benutzer z. B. ein Foto mit einer Größe von 504 x 504 Pixel hochlädt, stehen alle Bis auf die Fotogröße 648 x 648 zum Download zur Verfügung. Wenn die angegebene Größe im Postfach des Benutzers oder der Microsoft Entra ID nicht verfügbar ist, wird die Größe 1x1 zusammen mit den restlichen Metadaten zurückgegeben.

Diese API ist in den folgenden nationalen Cloudbereitstellungen verfügbar.

Weltweiter Service US Government L4 US Government L5 (DOD) China, betrieben von 21Vianet

Berechtigungen

In den folgenden Tabellen sind die Berechtigungen mit den geringsten Berechtigungen aufgeführt, die zum Aufrufen dieser API für jeden unterstützten Ressourcentyp erforderlich sind. Befolgen Sie die bewährten Methoden, um die Berechtigungen mit den geringsten Privilegien anzufordern. Ausführliche Informationen zu delegierten Berechtigungen und Anwendungsberechtigungen finden Sie unter Berechtigungstypen. Weitere Informationen zu diesen Berechtigungen finden Sie in der Berechtigungsreferenz.

Um das Profilfoto eines Kontakts abzurufen

Berechtigungstyp Berechtigungen mit den geringsten Berechtigungen Berechtigungen mit höheren Berechtigungen
Delegiert (Geschäfts-, Schul- oder Unikonto) Contacts.Read Contacts.ReadWrite
Delegiert (persönliches Microsoft-Konto) Contacts.Read Contacts.ReadWrite
Anwendung Contacts.Read Contacts.ReadWrite

Um das Profilfoto einer Gruppe abzurufen

Berechtigungstyp Berechtigungen mit den geringsten Berechtigungen Berechtigungen mit höheren Berechtigungen
Delegiert (Geschäfts-, Schul- oder Unikonto) ProfilePhoto.Read.All ProfilePhoto.ReadWrite.All, Group.Read.All, Group.ReadWrite.All
Delegiert (persönliches Microsoft-Konto) Nicht unterstützt Nicht unterstützt
Anwendung ProfilePhoto.Read.All ProfilePhoto.ReadWrite.All, Group.Read.All, Group.ReadWrite.All

So rufen Sie das Profilfoto eines Teams ab

Berechtigungstyp Berechtigungen mit den geringsten Berechtigungen Berechtigungen mit höheren Berechtigungen
Delegiert (Geschäfts-, Schul- oder Unikonto) Team.ReadBasic.All TeamSettings.Read.All, TeamSettings.ReadWrite.All
Delegiert (persönliches Microsoft-Konto) Nicht unterstützt Nicht unterstützt
Anwendung Team.ReadBasic.All TeamSettings.Read.All, TeamSettings.ReadWrite.All

Um das Profilfoto eines Benutzers abzurufen

Berechtigungstyp Berechtigungen mit den geringsten Berechtigungen Berechtigungen mit höheren Berechtigungen
Delegiert (Geschäfts-, Schul- oder Unikonto) ProfilePhoto.Read.All ProfilePhoto.ReadWrite.All, User.Read, User.ReadBasic.All, User.Read.All, User.ReadWrite, User.ReadWrite.All
Delegiert (persönliches Microsoft-Konto) User.Read User.ReadWrite
Anwendung ProfilePhoto.Read.All ProfilePhoto.ReadWrite.All, User.Read.All, User.ReadWrite.All

Hinweis

  • Das Abrufen eines Benutzerfotos mithilfe der Microsoft Graph-API wird in Azure AD B2C Mandanten derzeit nicht unterstützt.

HTTP-Anforderung

Abrufen des Fotos

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

Abrufen von Metadaten des Fotos

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

Abrufen der Metadaten für eine bestimmte Fotogröße

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

Pfadparameter

Parameter Typ Beschreibung
size String Eine Fotogröße. Die unterstützten Größen der HD-Fotos in Microsoft 365 sind wie folgt: 48x48, 64x64, 96x96, 120x120, 240x240, 360x360, 432x432, 504x504 und 648x648. Fotos können eine beliebige Dimension sein, wenn sie in der Microsoft Entra ID gespeichert sind.

Optionale Abfrageparameter

Diese Methode unterstützt die OData-Abfrageparameter zur Anpassung der Antwort.

Anforderungsheader

Name Typ Beschreibung
Authorization string Bearer {token}. Erforderlich. Erfahren Sie mehr über Authentifizierung und Autorisierung.

Anforderungstext

Geben Sie keinen Anforderungstext für diese Methode an.

Antwort

Antwort für Abrufen des Fotos

Wenn die Methode erfolgreich verläuft, werden der Antwortcode 200 OK und binäre Daten des angeforderten Fotos zurückgegeben. Wenn kein Foto vorhanden ist, gibt der Vorgang 404 Not Found zurück.

Antwort für Abrufen der Metadaten des Fotos

Wenn die Methode erfolgreich verläuft, werden der Antwortcode 200 OK und das profilePhoto-Objekt im Antworttext zurückgegeben.

Beispiele

Beispiel 1: Abrufen des Fotos für den angemeldeten Benutzer in der größten verfügbaren Größe

Anforderung

Das folgende Beispiel zeigt eine Anfrage.

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

Antwort

Enthält die binären Daten des angeforderten Fotos. Der HTTP-Antwortcode ist 200.

HTTP/1.1 200 OK

Beispiel 2: Abrufen des 48x48-Fotos für den angemeldeten Benutzer

Anforderung

Das folgende Beispiel zeigt eine Anfrage.

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

Hinweis

  • Um eine feste Größe für das Ausgabefoto sicherzustellen, verwenden Sie den dedizierten Endpunkt für Fotos mit festen Größen (/photos), anstatt den standardmäßigen Fotoendpunkt zu nutzen, der das größte verfügbare Foto bereitstellt (/photo).

Antwort

Enthält die binären Daten des angeforderten 48x48-Fotos. Der HTTP-Antwortcode ist 200.

HTTP/1.1 200 OK

Beispiel 3: Abrufen der Metadaten des Benutzerfotos des angemeldeten Benutzers

Anforderung

Das folgende Beispiel zeigt eine Anfrage.

GET https://graph.microsoft.com/beta/me/photo

Antwort

Die folgenden Antwortdaten zeigen die Metadaten des Fotos.

Hinweis: Das hier gezeigte Antwortobjekt kann zur besseren Lesbarkeit gekürzt werden.

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
}

Die folgenden Antwortdaten zeigen die Inhalte einer Antwort, wenn für den Benutzer noch kein Foto hochgeladen wurde.

Hinweis: Das hier gezeigte Antwortobjekt kann zur besseren Lesbarkeit gekürzt werden.

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
}

Beispiel 4: Abrufen der Metadaten des Teamfotos

Anforderung

Das folgende Beispiel zeigt eine Anforderung zum Abrufen der Metadaten des Teamfotos.

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

Antwort

Das folgende Beispiel zeigt die Antwort.

Hinweis: Das hier gezeigte Antwortobjekt kann zur besseren Lesbarkeit gekürzt werden.

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
}

Beispiel 5: Abrufen der Binärdaten des Teamfotos

Das folgende Beispiel zeigt eine Anforderung zum Abrufen der Binärdaten des Teamfotos.

Anforderung

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

Antwort

Enthält die binären Daten des angeforderten Fotos. Der HTTP-Antwortcode ist 200.

HTTP/1.1 200 OK

Verwenden der Binärdaten des angeforderten Fotos

Wenn Sie den /photo/$value-Endpunkt verwenden, um die binären Daten für ein Profilfoto abzurufen, müssen Sie die Daten in eine Base64-Zeichenfolge konvertieren, um sie als E-Mail-Anlage hinzuzufügen. Das folgende JavaScript-Beispiel zeigt das Erstellen eines Arrays, das Sie als Wert des Attachments-Parameters einer Outlook-Nachricht übergeben können.

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

Implementierungsdetails finden Sie im Microsoft Graph Connect-Beispiel für Node.js.

Wenn Sie das Bild auf einer Webseite anzeigen möchten, erstellen Sie ein Objekt im Arbeitsspeicher aus dem Bild, und verwenden Sie das Objekt als Quelle eines Bildelements. Das folgende JavaScript-Beispiel zeigt diesen Vorgang.

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