Benutzer abrufen

Namespace: microsoft.graph

Dient zum Abrufen der Eigenschaften und der Beziehungen des Benutzerobjekts.

Hinweis: Abrufen eines Benutzers gibt nur einen Standardsatz von Eigenschaften zurück (businessPhones, displayName, givenName, id, jobTitle, mail, mobilePhone, officeLocation, preferredLanguage, surname, userPrincipalName). Verwenden Sie $select, um die anderen Eigenschaften und Beziehungen für das Benutzer -Objekt abzurufen.

Bei dieser Anforderung kann es zu Replikationsverzögerungen für Benutzer kommen, die kürzlich erstellt, aktualisiert oder gelöscht wurden.

Berechtigungen

Eine der nachfolgenden Berechtigungen ist erforderlich, um diese API aufrufen zu können. Weitere Informationen, unter anderem zur Auswahl von Berechtigungen, finden Sie im Artikel zum Thema Berechtigungen.

Berechtigungstyp Berechtigungen (von der Berechtigung mit den wenigsten Rechten zu der mit den meisten Rechten)
Delegiert (Geschäfts-, Schul- oder Unikonto) User.Read, User.ReadWrite, User.ReadBasic.All, User.Read.All, User.ReadWrite.All, Directory.Read.All, Directory.ReadWrite.All
Delegiert (persönliches Microsoft-Konto) User.Read, User.ReadWrite
Anwendung User.Read.All, User.ReadWrite.All, Directory.Read.All, Directory.ReadWrite.All

Tipp

  1. Das Aufrufen des /me-Endpunkts erfordert einen angemeldeten Benutzer und daher eine delegierte Berechtigung. Anwendungsberechtigungen werden bei der Benutzung des /me-Endpunkts nicht unterstützt.
  2. Die Berechtigung User.Read ermöglicht der App, das Profil zu lesen und Beziehungen wie Gruppenmitgliedschaft, Berichte und Vorgesetzte des angemeldeten Benutzers zu ermitteln.

HTTP-Anforderung

Für einen bestimmten Benutzer:

GET /me
GET /users/{id | userPrincipalName}

Tipp

  • Wenn userPrincipalName mit einem $-Zeichen beginnt, schlägt die URL-Syntax /users/$x@y.com der GET-Anforderung mit einem Fehlercode 400 Bad Request fehl. Dies liegt daran, dass diese Anforderungs-URL gegen die OData-URL-Konvention verstößt, wonach ein $-Präfixzeichen nur bei Systemabfrageoptionen erwartet wird. Entfernen Sie den Schrägstrich (/) nach /users, und schließen Sie den userPrincipalName in Klammern und einfache Anführungszeichen wie folgt ein: /users('$x@y.com'). Beispiel: /users('$AdeleVance@contoso.com').
  • Um einen B2B-Benutzer mit userPrincipalName abzufragen, codieren Sie das Hashzeichen (#). Ersetzen Sie also das #-Symbol durch %23. Beispiel: /users/AdeleVance_adatum.com%23EXT%23@contoso.com.

Für den angemeldeten Benutzer:

GET /me

Optionale Abfrageparameter

Diese Methode unterstützt den $select OData-Abfrageparameter, um bestimmte Benutzereigenschaften abzurufen, einschließlich derjenigen, die nicht standardmäßig zurückgegeben werden.

Standardmäßig wird nur ein begrenzter Satz von Eigenschaften zurückgegeben (businessPhones, displayName, givenName, id, jobTitle, mail, mobilePhone, officeLocation, preferredLanguage, surname, userPrincipalName).

Um einen alternativen Eigenschaftensatz zurückzugeben, müssen Sie den gewünschten Satz von user-Eigenschaften mithilfe des Odata-Abfrageparameters $select angeben. Um zum Beispiel displayName, givenName und postalCode zurückzugeben, fügen Sie Folgendes zur Abfrage hinzu: $select=displayName,givenName,postalCode.

Abrufen von Erweiterungen und zugehörigen Daten

Erweiterungstyp Kommentare
onPremisesExtensionAttributes 1-15 Wird nur mit $select zurückgegeben.
Schemaerweiterungen Wird nur mit $select zurückgegeben.
Offene Erweiterungen Wird nur durch die Operation Get open extension zurückgegeben.
Verzeichniserweiterungen Wird nur mit $select zurückgegeben.

Anforderungsheader

Kopfzeile Wert
Authorization Bearer {token}. Erforderlich.
Content-Type application/json

Anforderungstext

Geben Sie für diese Methode keinen Anforderungstext an.

Antwort

Wenn die Methode erfolgreich verläuft, werden der Antwortcode 200 OK und ein user-Objekt im Antworttext zurückgegeben. Es werden die Standardeigenschaften zurückgegeben, es sei denn, Sie verwenden $select, um bestimmte Eigenschaften anzugeben.

Diese Methode wird 202 Accepted zurückgeben, wenn die Anforderung erfolgreich verarbeitet wurde, aber der Server mehr Zeit dazu benötigt, verbundene Hintergrundvorgänge abzuschließen.

Beispiele

Beispiel 1: Standard-Benutzeranforderung

Anforderung

Standardmäßig wird nur ein begrenzter Satz von Eigenschaften zurückgegeben ( businessPhones, displayName, givenName, id, jobTitle, mail, mobilePhone, officeLocation, preferredLanguage, surname, userPrincipalName ). Dieses Beispiel zeigt die standardmäßige Anforderung und Antwort.

GET https://graph.microsoft.com/v1.0/users/87d349ed-44d7-43e1-9a83-5f2406dee5bd

Antwort

HTTP/1.1 200 OK
Content-type: application/json

{
  "businessPhones": [
       "+1 425 555 0109"
   ],
   "displayName": "Adele Vance",
   "givenName": "Adele",
   "jobTitle": "Retail Manager",
   "mail": "AdeleV@contoso.onmicrosoft.com",
   "mobilePhone": "+1 425 555 0109",
   "officeLocation": "18/2111",
   "preferredLanguage": "en-US",
   "surname": "Vance",
   "userPrincipalName": "AdeleV@contoso.onmicrosoft.com",
   "id": "87d349ed-44d7-43e1-9a83-5f2406dee5bd"
}

Beispiel 2: Anforderung des angemeldeten Benutzers

Sie können die Benutzerinformationen des angemeldeten Benutzers abrufen, indem Sie /users/{id | userPrincipalName} durch /me ersetzen.

Anforderung

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

Antwort

HTTP/1.1 200 OK
Content-type: application/json

{
  "businessPhones": [
       "+1 425 555 0109"
   ],
   "displayName": "Adele Vance",
   "givenName": "Adele",
   "jobTitle": "Retail Manager",
   "mail": "AdeleV@contoso.onmicrosoft.com",
   "mobilePhone": "+1 425 555 0109",
   "officeLocation": "18/2111",
   "preferredLanguage": "en-US",
   "surname": "Vance",
   "userPrincipalName": "AdeleV@contoso.onmicrosoft.com",
   "id": "87d349ed-44d7-43e1-9a83-5f2406dee5bd"
}

Beispiel 3: Verwenden von $select zum Abrufen bestimmter Eigenschaften eines Benutzers

Verwenden Sie zum Abrufen bestimmter Eigenschaften den OData-Abfrageparameter $select. Um zum Beispiel displayName, givenName und postalCode und identities zurückzugeben, würden Sie Ihrer Abfrage folgendes hinzufügen: $select=displayName,givenName,postalCode,identities

Anforderung

GET https://graph.microsoft.com/v1.0/users/87d349ed-44d7-43e1-9a83-5f2406dee5bd?$select=displayName,givenName,postalCode,identities

Antwort

HTTP/1.1 200 OK
Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users(displayName,givenName,postalCode,identities)/$entity",
    "displayName": "Adele Vance",
    "givenName": "Adele",
    "postalCode": "98004",
    "identities": [
        {
            "signInType": "userPrincipalName",
            "issuer": "contoso.com",
            "issuerAssignedId": "AdeleV@contoso.com"
        }
    ]
}

Beispiel 4: Abrufen des Werts einer Schemaerweiterung für einen Benutzer

In diesem Beispiel lautet die ID der Schemaerweiterung ext55gb1l09_msLearnCourses.

Anforderung

GET https://graph.microsoft.com/v1.0/users/4562bcc8-c436-4f95-b7c0-4f8ce89dca5e?$select=ext55gb1l09_msLearnCourses

Antwort

HTTP/1.1 200 OK
Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users(ext55gb1l09_msLearnCourses)/$entity",
    "ext55gb1l09_msLearnCourses": {
        "@odata.type": "#microsoft.graph.ComplexExtensionValue",
        "courseType": "Developer",
        "courseName": "Introduction to Microsoft Graph",
        "courseId": 1
    }
}