Die Directory API bietet programmatische Methoden zum Erstellen, Aktualisieren und Löschen von Nutzern. Sie können auch Informationen zu einzelnen Nutzern oder Listen von Nutzern abrufen, die bestimmte Kriterien erfüllen. Im Folgenden finden Sie einige Beispiele für grundlegende Nutzeraktionen.
Nutzerkonto erstellen
Sie können ein Nutzerkonto zu einer beliebigen Domain Ihres Google Workspace-Kontos hinzufügen. Bestätigen Sie vor dem Hinzufügen eines Nutzerkontos die Inhaberschaft der Domain.
Wenn Sie Ihr privates Gmail-Konto auf ein geschäftliches E‑Mail-Konto mit Ihrem eigenen Domainnamen umgestellt haben, können Sie erst dann neue Nutzerkonten erstellen, wenn Sie zusätzliche Google Workspace-Einstellungen freigeschaltet haben. Weitere Informationen finden Sie unter Google Workspace-Geschäfts-E‑Mail-Konten wurden aktualisiert.
Wenn Sie ein Nutzerkonto mit einer Ihrer Domains erstellen möchten, verwenden Sie die folgende POST
Anfrage und fügen Sie die in
Authentifizierung und Autorisierung beschriebene Autorisierung ein.
Die verfügbaren Bereiche für die Directory API finden Sie in der
Liste der OAuth 2.0-Bereiche.
Informationen zu den Eigenschaften des Abfragestrings der Anfrage finden Sie unter der
users.insert
Methode.
POST https://admin.googleapis.com/admin/directory/v1/users
Für alle Erstellungsanfragen müssen Sie die Informationen angeben, die zur Bearbeitung der Anfrage erforderlich sind. Wenn Sie Clientbibliotheken verwenden, werden die Datenobjekte aus der von Ihnen ausgewählten Sprache in JSON-formatierte Objekte konvertiert.
JSON-Anfrage
Das folgende JSON zeigt eine Beispielanfrage zum Erstellen eines Nutzers. Die vollständige Liste der Anfrage- und Antwortattribute finden Sie in der API-Referenz.
{
"primaryEmail": "liz@example.com",
"name": {
"givenName": "Elizabeth",
"familyName": "Smith"
},
"suspended": false,
"password": "NEW_USER_PASSWORD",
"hashFunction": "SHA-1",
"changePasswordAtNextLogin": false,
"ipWhitelisted": false,
"ims": [
{
"type": "work",
"protocol": "gtalk",
"im": "liz_im@talk.example.com",
"primary": true
}
],
"emails": [
{
"address": "liz@example.com",
"type": "home",
"customType": "",
"primary": true
}
],
"addresses": [
{
"type": "work",
"customType": "",
"streetAddress": "1600 Amphitheatre Parkway",
"locality": "Mountain View",
"region": "CA",
"postalCode": "94043"
}
],
"externalIds": [
{
"value": "12345",
"type": "custom",
"customType": "employee"
}
],
"organizations": [
{
"name": "Google Inc.",
"title": "SWE",
"primary": true,
"type": "work",
"description": "Software engineer"
}
],
"phones": [
{
"value": "+1 nnn nnn nnnn",
"type": "work"
}
],
"orgUnitPath": "/corp/engineering",
"includeInGlobalAddressList": true
}
Wenn Ihre Abfragerate für Erstellungsanfragen zu hoch ist, erhalten Sie möglicherweise 503-Antworten vom API-Server, die darauf hinweisen, dass Ihr Kontingent überschritten wurde. Verwenden Sie in diesem Fall einen
Algorithmus für exponentiellen Backoff, um Ihre Anfragen noch einmal zu
senden.
Beachten Sie beim Erstellen eines neuen Kontos Folgendes:
- Wenn für das Google-Konto E‑Mail-Lizenzen erworben wurden, wird dem neuen Nutzerkonto automatisch ein Postfach zugewiesen. Es kann einige Minuten dauern, bis die Zuweisung abgeschlossen und das Postfach aktiviert ist.
- Das Bearbeiten eines schreibgeschützten Felds in einer Anfrage, z. B.
isAdmin, wird vom API-Dienst ignoriert. - Die maximale Anzahl der in einem Konto zulässigen Domains beträgt 600 (1 primäre Domain + 599 zusätzliche Domains).
- Wenn ein Nutzer beim Erstellen des Nutzerkontos keiner bestimmten Organisationseinheit zugewiesen wurde, befindet sich das Konto in der Organisationseinheit der obersten Ebene. Die Organisationseinheit eines Nutzers bestimmt, auf welche Google Workspace-Dienste der Nutzer Zugriff hat. Wenn der Nutzer in eine neue Organisation verschoben wird, ändert sich sein Zugriff. Weitere Informationen zu Organisations strukturen finden Sie in der Admin-Hilfe. Weitere Informationen zum Verschieben eines Nutzers in eine andere Organisation finden Sie unter Nutzer aktualisieren.
- Für neue Nutzerkonten ist ein
passworderforderlich. Wenn einehashFunctionangegeben ist, muss das Passwort ein gültiger Hash-Schlüssel sein. Wenn keine `hashFunction` angegeben ist, muss das Passwort im Klartext vorliegen und zwischen 8 und 100 ASCII-Zeichen lang sein. Weitere Informationen finden Sie in der API-Referenz. - Für Nutzer mit einem flexiblen Abo für Google Workspace hat das Erstellen von Nutzern mit dieser API finanzielle Auswirkungen und führt zu Gebühren für Ihr Abrechnungskonto. Weitere Informationen finden Sie unter den Abrechnungsinformationen für die API.
- Ein Google Workspace-Konto kann jede Ihrer Domains enthalten. In einem Konto mit mehreren Domains können Nutzer in einer Domain Dienste mit Nutzern in anderen Kontodomains gemeinsam nutzen. Weitere Informationen zu Nutzern in mehreren Domains finden Sie unter den Informationen zu mehreren Domains für die API.
- Möglicherweise gibt es in Konflikt stehende Konten. Prüfen Sie, ob eine der Personen, die Sie hinzufügen möchten, bereits ein Google-Konto hat. Führen Sie dann die folgenden Schritte aus, um Konflikte mit diesen Konten zu vermeiden. Weitere Informationen finden Sie unter In Konflikt stehende Konten.
- Möglicherweise gibt es Besucherkonten. Wenn Nutzer Personen außerhalb Ihrer
Organisation, die keine Google-Konten haben, zur Zusammenarbeit in
Google Drive einladen, erhalten sie Besucherkonten im Format
visitor's_username@your_domain.com. Wenn Sie einen Nutzer mit demselben Nutzernamen wie ein Besucherkonto hinzufügen, wird das Konto in ein vollständiges Google Workspace-Konto umgewandelt. Die aktuellen Berechtigungen des Kontos für Drive-Dateien bleiben erhalten. Weitere Informationen finden Sie unter Dokumente für Besucher freigeben.
Bei einer erfolgreichen Antwort wird der Statuscode „HTTP 200“ zurückgegeben. Zusammen mit dem Statuscode werden in der Antwort die Attribute für das neue Nutzerkonto zurückgegeben.
Nutzerkonto aktualisieren
Wenn Sie ein Nutzerkonto aktualisieren möchten, verwenden Sie die folgende PUT Anfrage und fügen Sie die
in
Anfragen autorisieren beschriebene Autorisierung ein. Der userKey kann die primäre E‑Mail-Adresse des Nutzers, die eindeutige id des Nutzers oder eine der Alias-E‑Mail-Adressen des Nutzers sein.
PUT https://admin.googleapis.com/admin/directory/v1/users/userKey
Sowohl der Anfrage- als auch der Antworttext enthalten eine Instanz von
User. Die
Directory API unterstützt
Patch-Semantik. Daher müssen Sie in Ihrer Anfrage
nur die aktualisierten Felder angeben.
Beispielanfrage
Im folgenden Beispiel war der givenName des Nutzers beim Erstellen des Nutzerkontos „Elizabeth“ und es wurde nur eine geschäftliche E‑Mail-Adresse angegeben.
{
"name": {
"givenName": "Elizabeth",
"familyName": "Smith"
},
"emails": [
{
"address": "liz@example.com",
"type": "work",
"primary": true
}
]
}
Mit der folgenden Anfrage wird givenName von „Elizabeth“ in „Liz“ geändert und eine private E‑Mail-Adresse hinzugefügt. Beachten Sie, dass beide E‑Mail-Adressen vollständig angegeben werden, da das Feld ein Array ist.
PUT https://admin.googleapis.com/admin/directory/v1/users/liz@example.com
{
"name": {
"givenName": "Liz",
},
"emails": [
{
"address": "liz@example.com",
"type": "work",
"primary": true
},
{
"address": "liz@home.com",
"type": "home"
}
]
}
Bei einer erfolgreichen Antwort wird der
HTTP 200 Statuscode
und eine User
Ressource mit den aktualisierten Feldern zurückgegeben.
Beachten Sie beim Aktualisieren des Kontonamens eines Nutzers Folgendes:
- Wenn Sie ein Nutzerkonto umbenennen, ändert sich die primäre E‑Mail-Adresse des Nutzers und die Domain, die beim Abrufen der Informationen dieses Nutzers verwendet wird. Bevor Sie einen Nutzer umbenennen, sollten Sie ihn von allen Browsersitzungen und Diensten abmelden.
- Es kann bis zu 10 Minuten dauern, bis die Umbenennung eines Nutzerkontos für alle Dienste übernommen wird.
- Wenn Sie einen Nutzer umbenennen, wird der alte Nutzername als Alias beibehalten, um eine unterbrechungsfreie E‑Mail-Zustellung bei E‑Mail-Weiterleitungseinstellungen zu gewährleisten. Er ist nicht als neuer Nutzername verfügbar.
- Im Allgemeinen wird auch davon abgeraten, die E‑Mail-Adresse des Nutzers als Schlüssel für persistente Daten zu verwenden, da sich die E‑Mail-Adresse ändern kann.
- Eine vollständige Liste der Auswirkungen der Umbenennung eines Nutzers in Google Workspace Apps finden Sie in der Admin-Hilfe.
Nutzer zum Administrator machen
Wenn Sie einen Nutzer zum Super Admin machen möchten, verwenden Sie die folgende POST Anfrage und
fügen Sie die in
Anfragen autorisieren beschriebene Autorisierung ein. Der userKey kann die primäre E‑Mail-Adresse des Nutzers, die eindeutige id des Nutzers oder eine der Alias-E‑Mail-Adressen des Nutzers sein. Informationen zu den Anfrage- und Antwortattributen finden Sie unter
siehe API-Referenz.
Weitere Informationen zu Super Admins finden Sie in der
Admin-Hilfe.
POST https://admin.googleapis.com/admin/directory/v1/users/userKey/makeAdmin
Der Nutzer muss zuerst vorhanden sein, bevor er zum Super Admin gemacht werden kann. Diese Aktion kann nur vom Super Admin eines Kontos ausgeführt werden. Delegierte Administratoren können Nutzer nicht zu Administratorrollen befördern. Informationen zum Ändern der Rolle eines Administrators über die Google Admin-Konsole finden Sie in der Admin-Hilfe.
JSON-Anfrage
In diesem Beispiel wurde der Nutzer, dessen userKey liz@example.com ist, zum Super Admin gemacht:
POST https://admin.googleapis.com/admin/directory/v1/users/liz@example.com/makeAdmin
{
"status": true
}
Bei einer erfolgreichen Antwort wird der Statuscode „HTTP 200“ zurückgegeben.
Nutzerbeziehungen verwalten
Die Directory API verwendet das Feld relations, um verschiedene Arten von Beziehungen zwischen Nutzern zu definieren. In einem geschäftlichen Umfeld wird dieses Feld häufig für Beziehungen zwischen Vorgesetzten und Mitarbeitern sowie zwischen Assistenten verwendet. Das Feld unterstützt aber auch viele andere Arten von Beziehungen. Die Beziehung wird auf der Karte „Verwandte Personen“ des Nutzers in jeder Google Workspace-Anwendung angezeigt, die die Karte unterstützt. Beispiele dafür, wo die Karte sichtbar ist, finden Sie unter
Dem Verzeichnisprofil eines Nutzers Informationen hinzufügen.
Beziehung zwischen Nutzern erstellen
Sie können eine Beziehung nur in einer Richtung definieren, beginnend mit dem „Inhaber“-Nutzer, dessen Eintrag das Feld relations enthält. Der type beschreibt die Beziehung der anderen Person zum Inhaber-Nutzer. Bei einer Beziehung zwischen Vorgesetztem und Mitarbeiter ist der Mitarbeiter beispielsweise der Inhaber-Nutzer. Sie fügen seinem Konto ein Feld relations mit dem Typ manager hinzu. Die zulässigen Typen finden Sie in der Referenz zum Objekt
User.
Richten Sie die Beziehung ein, indem Sie den Inhaber-Nutzer mit einem JSON-Anfragetext erstellen oder aktualisieren
, der das Feld relations enthält.
Sie können mehrere Beziehungen in einer Anfrage erstellen.
{
"relations": [
{
"value": "EMAIL_ADDRESS_RELATION_1",
"type": "manager"
},
{
"value": "EMAIL_ADDRESS_RELATION_2",
"type": "dotted_line_manager"
}
]
}
Beziehung aktualisieren oder löschen
Sie können das Feld relations nur als Ganzes aktualisieren. Sie können die einzelnen aufgeführten Personen nicht ansprechen, um den Beziehungstyp zu ändern oder sie zu entfernen. Wenn Sie im vorherigen Beispiel die bestehende Beziehung zum Vorgesetzten entfernen und den Vorgesetzten mit der gestrichelten Linie zum Vorgesetzten des Inhaber-Nutzers machen möchten, aktualisieren Sie das Konto des Inhaber-Nutzers mit allen Werten des Felds, wie Sie sie jetzt haben möchten.
{
"relations": [
{
"value": "EMAIL_ADDRESS_RELATION_2",
"type": "manager"
}
]
}
Wenn Sie alle Beziehungen des Inhaber-Nutzers entfernen möchten, legen Sie für relations einen leeren Wert fest:
{
"relations": []
}
Nutzer abrufen
Wenn Sie einen Nutzer abrufen möchten, verwenden Sie die folgende GET Anfrage und fügen Sie die
Autorisierung ein, die in
Anfragen autorisieren beschrieben ist. Der userKey kann die primäre E‑Mail-Adresse des Nutzers, die eindeutige id des Nutzers oder eine der Alias-E‑Mail-Adressen des Nutzers sein. Informationen zu den Anfrage- und Antwortattributen finden Sie in der API-Referenz.
GET https://admin.googleapis.com/admin/directory/v1/users/userKey
In diesem Beispiel werden die Eigenschaften des Nutzerkontos für den Nutzer zurückgegeben, dessen primäre E‑Mail-Adresse oder Alias-E‑Mail-Adresse liz@example.com ist:
GET https://admin.googleapis.com/admin/directory/v1/users/liz@example.com
JSON-Antwort
Bei einer erfolgreichen Antwort wird der Statuscode „HTTP 200“ zurückgegeben. Zusammen mit dem Statuscode werden in der Antwort die Attribute für das Nutzerkonto zurückgegeben.
{
"kind": "directory#user",
"id": "the unique user id",
"primaryEmail": "liz@example.com",
"name": {
"givenName": "Liz",
"familyName": "Smith",
"fullName": "Liz Smith"
},
"isAdmin": true,
"isDelegatedAdmin": false,
"lastLoginTime": "2013-02-05T10:30:03.325Z",
"creationTime": "2010-04-05T17:30:04.325Z",
"agreedToTerms": true,
"hashFunction": "SHA-1",
"suspended": false,
"changePasswordAtNextLogin": false,
"ipWhitelisted": false,
"ims": [
{
"type": "work",
"protocol": "gtalk",
"im": "lizim@talk.example.com",
"primary": true
}
],
"emails": [
{
"address": "liz@example.com",
"type": "home",
"customType": "",
"primary": true
}
],
"addresses": [
{
"type": "work",
"customType": "",
"streetAddress": "1600 Amphitheatre Parkway",
"locality": "Mountain View",
"region": "CA",
"postalCode": "94043"
}
],
"externalIds": [
{
"value": "employee number",
"type": "custom",
"customType": "office"
}
],
"organizations": [
{
"name": "Google Inc.",
"title": "SWE",
"primary": true,
"customType": "",
"description": "Software engineer"
}
],
"phones": [
{
"value": "+1 nnn nnn nnnn",
"type": "work"
}
],
"aliases": [
"lizsmith@example.com",
"lsmith@example.com"
],
"nonEditableAliases": [
"liz@test.com"
],
"customerId": "C03az79cb",
"orgUnitPath": "corp/engineering",
"isMailboxSetup": true,
"includeInGlobalAddressList": true
}
Alle Nutzer in einer Domain abrufen
Wenn Sie alle Nutzer in derselben Domain abrufen möchten, verwenden Sie die folgende GET Anfrage und
fügen Sie die in
Anfragen autorisieren beschriebene Autorisierung ein. Zur besseren Lesbarkeit enthält dieses Beispiel Zeilenumbrüche:
GET https://admin.googleapis.com/admin/directory/v1/users
?domain=primary domain name&pageToken=token for next results page
&maxResults=max number of results per page
&orderBy=email, givenName, or familyName
&sortOrder=ascending or descending
&query=email, givenName, or familyName:the query's value*
Informationen zu den Anfrage- und Antwortattributen finden Sie in der API-Referenz.
JSON-Antwort
In diesem Beispiel werden alle Nutzer in der Domain example.com zurückgegeben, mit maximal zwei Nutzerdomains pro Antwortseite. Diese Antwort enthält ein nextPageToken für die nachfolgende Liste der Nutzer. Standardmäßig gibt das System eine Liste von 100 Nutzern in alphabetischer Reihenfolge der E‑Mail-Adresse des Nutzers zurück:
GET https://admin.googleapis.com/admin/directory/v1/users?domain=example.com&maxResults=2
Bei einer erfolgreichen Antwort wird der Statuscode „HTTP 200“ zurückgegeben. Zusammen mit dem Statuscode werden in der Antwort zwei Nutzerkonten in der Domain example.com zurückgegeben (maxResults=2):
{
"kind": "directory#users",
"users": [
{
"kind": "directory#user",
"id": "the unique user id",
"primaryEmail": "liz@example.com",
"name": {
"givenName": "Liz",
"familyName": "Smith",
"fullName": "Liz Smith"
},
"isAdmin": true,
"isDelegatedAdmin": false,
"lastLoginTime": "2013-02-05T10:30:03.325Z",
"creationTime": "2010-04-05T17:30:04.325Z",
"agreedToTerms": true,
"hashFunction": "SHA-1",
"suspended": false,
"changePasswordAtNextLogin": false,
"ipWhitelisted": false,
"ims": [
{
"type": "work",
"protocol": "gtalk",
"im": "lizim@talk.example.com",
"primary": true
}
],
"emails": [
{
"address": "liz@example.com",
"type": "work",
"customType": "",
"primary": true
}
],
"addresses": [
{
"type": "work",
"customType": "",
"streetAddress": "1600 Amphitheatre Parkway",
"locality": "Mountain View",
"region": "CA",
"postalCode": "94043"
}
],
"externalIds": [
{
"value": "employee number",
"type": "custom",
"customType": "office"
}
],
"organizations": [
{
"name": "Google Inc.",
"title": "SWE",
"primary": true,
"customType": "",
"description": "Software engineer"
}
],
"phones": [
{
"value": "+1 nnn nnn nnnn",
"type": "work"
}
],
"aliases": [
"lizsmith@example.com",
"lsmith@example.com"
],
"nonEditableAliases": [
"liz@test.com"
],
"customerId": "C03az79cb",
"orgUnitPath": "corp/engineering",
"isMailboxSetup": true,
"includeInGlobalAddressList": true
},
{
"kind": "directory#user",
"id": "user unique ID",
"primaryEmail": "admin2@example.com",
"name": {
"givenName": "admin",
"familyName": "two",
"fullName": "admin two"
},
"isAdmin": true,
"isDelegatedAdmin": true,
"lastLoginTime": "2013-02-05T10:30:03.325Z",
"creationTime": "2010-04-05T17:30:04.325Z",
"agreedToTerms": true,
"hashFunction": "SHA-1",
"suspended": true,
"suspensionReason": "ADMIN",
"suspensionTime": "2013-02-05T10:30:03.325Z",
"changePasswordAtNextLogin": false,
"ipWhitelisted": false,
"emails": [
{
"address": "admin2@example.com",
"type": "work",
"customType": "",
"primary": true
}
],
"externalIds": [
{
"value": "contractor license number",
"type": "custom",
"customType": "work"
}
],
"aliases": [
"second_admin@example.com"
],
"nonEditableAliases": [
"admin@test.com"
],
"customerId": "C03az79cb",
"orgUnitPath": "corp/engineering",
"isMailboxSetup": true,
"includeInGlobalAddressList": true
}
],
"nextPageToken": "next page token"
}
Alle Kontonutzer abrufen
Wenn Sie alle Nutzer in einem Konto abrufen möchten, das aus mehreren Domains bestehen kann, verwenden Sie
die folgende GET Anfrage und fügen Sie die in
Anfragen autorisieren beschriebene Autorisierung ein. Zur besseren Lesbarkeit enthält dieses Beispiel Zeilenumbrüche:
GET https://admin.googleapis.com/admin/directory/v1/users
?customer=my_customer or customerId&pageToken=token for next results page
&maxResults=max number of results per page
&orderBy=email, givenName, or familyName
&sortOrder=ascending or descending
&query=user attributes
- Der Abfragestring
customerist der Wertmy_customerodercustomerId. - Verwenden Sie den String
my_customer, um diecustomerIdIhres Kontos darzustellen. - Als Reseller-Administrator verwenden Sie die
customerIddes weiterverkauften Kunden. Verwenden Sie für diecustomerId, den primären Domainnamen des Kontos in der Anfrage des Vorgangs „Alle Nutzer in einer Domain abrufen“. Die resultierende Antwort enthält den WertcustomerId. - Der optionale Abfragestring
orderBybestimmt, ob die Liste nach der primären E‑Mail-Adresse, dem Nachnamen oder dem Vornamen des Nutzers sortiert wird. Wenn SieorderByverwenden, können Sie auch den AbfragestringsortOrderverwenden, um die Ergebnisse in aufsteigender oder absteigender Reihenfolge aufzulisten. - Mit dem optionalen Abfragestring
querykönnen Sie in vielen Feldern eines Nutzerprofils suchen, einschließlich der Kernfelder und benutzerdefinierten Felder. Beispiele finden Sie unter Nach Nutzern suchen für.
Informationen zu den Anfrage- und Antwortattributen finden Sie in der API-Referenz.
In diesem Beispiel fordert ein Kontoadministrator an, dass alle Nutzer im Konto mit einem Nutzereintrag auf jeder Antwortseite zurückgegeben werden. Das nextPageToken führt zur nächsten Seite mit Ergebnissen:
GET https://admin.googleapis.com/admin/directory/v1/users?customer=my_customer&maxResults=1
In diesem Beispiel fordert ein Reseller-Administrator alle Nutzer in einem weiterverkauften Konto an, dessen customerId den Wert C03az79cb hat.
GET https://admin.googleapis.com/admin/directory/v1/users?customer=C03az79cb&maxResults=1
JSON-Antwort
Bei einer erfolgreichen Antwort wird der Statuscode „HTTP 200“ zurückgegeben. Zusammen mit dem Statuscode werden in der Antwort alle Nutzer in diesem Konto zurückgegeben:
{
"kind": "directory#users",
"users": [
{
"kind": "directory#user",
"id": "the unique user id",
"username": "admin2@example.com",
"name": {
"givenName": "admin",
"familyName": "two",
"fullName": "admin two"
},
"isAdmin": true,
"isDelegatedAdmin": true,
"lastLoginTime": "2013-02-05T10:30:03.325Z",
"creationTime": "2010-04-05T17:30:04.325Z",
"agreedToTerms": true,
"hashFunction": "SHA-1",
"suspended": false,
"changePasswordAtNextLogin": false,
"ipWhitelisted": false,
"emails": [
{
"address": "admin2@example.com",
"type": "work",
"customType": "",
"primary": true
}
],
"externalIds": [
{
"value": "employee number",
"type": "custom",
"customType": "office"
}
],
"aliases": [
"second_admin@example.com"
],
"nonEditableAliases": [
"another_admin@test.com"
],
"customerId": "C03az79cb",
"orgUnitPath": "/",
"isMailboxSetup": true,
"includeInGlobalAddressList": true
},
{
"kind": "directory#user",
"id": "the unique user id",
"username": "liz@example.com",
"name": {
"givenName": "Elizabeth",
"familyName": "Smith",
"fullName": "Elizabeth Smith"
},
"isAdmin": false,
"isDelegatedAdmin": false,
"lastLoginTime": "1336509883546",
"creationTime": "1404802800000",
"agreedToTerms": false,
"hashFunction": "SHA-1",
"suspended": false,
"changePasswordAtNextLogin": false,
"ipWhitelisted": false,
"emails": [
{
"address": "liz@example.com",
"type": "home",
"customType": "",
"primary": true
}
],
"externalIds": [
{
"value": "employee number",
"type": "custom",
"customType": "bank"
}
],
"relations": [
{
"value": "liz",
"type": "friend",
"customType": ""
}
],
"aliases": [
"lizsmith@example.com",
"lsmith@example.com"
],
"nonEditableAliases": [
"liz@test.com"
],
"customerId": "C03az79cb",
"orgUnitPath": "/",
"isMailboxSetup": true,
"includeInGlobalAddressList": true
},
{
"kind": "directory#user",
"id": "the unique user id",
"username": "test3@example.com",
"name": {
"givenName": "Tester",
"familyName": "Three",
"fullName": "Tester Three"
},
"isAdmin": false,
"isDelegatedAdmin": false,
"lastLoginTime": "1336509883546",
"creationTime": "1404802800000",
"agreedToTerms": true,
"hashFunction": "SHA-1",
"suspended": false,
"changePasswordAtNextLogin": false,
"ipWhitelisted": false,
"emails": [
{
"address": "test@example.com",
"type": "work",
"customType": "",
"primary": true
}
],
"externalIds": [
{
"value": "employee number",
"type": "custom",
"customType": "office"
}
],
"aliases": [
"tester3@example.com"
],
"nonEditableAliases": [
"third@test.com"
],
"customerId": "C03az79cb",
"orgUnitPath": "/",
"isMailboxSetup": true,
"includeInGlobalAddressList": true
},
{
"kind": "directory#user",
"id": "the unique user id",
"username": "work_admin@example.com",
"name": {
"givenName": "Admin",
"familyName": "Work",
"fullName": "Admin Work"
},
"isAdmin": true,
"isDelegatedAdmin": true,
"lastLoginTime": "1336509883546",
"creationTime": "1404802800000",
"agreedToTerms": true,
"hashFunction": "SHA-1",
"suspended": false,
"changePasswordAtNextLogin": false,
"ipWhitelisted": false,
"emails": [
{
"address": "work_admin@example.com",
"type": "work",
"customType": "",
"primary": true
}
],
"externalIds": [
{
"value": "employee number",
"type": "custom",
"customType": "office"
}
],
"aliases": [
"my_alias@example.com"
],
"nonEditableAliases": [
"other_alias@test.com"
],
"customerId": "C03az79cb",
"orgUnitPath": "/",
"isMailboxSetup": true,
"includeInGlobalAddressList": true
}
],
"nextPageToken": "NNNNN"
}
Kürzlich gelöschte Nutzer abrufen
Wenn Sie alle Nutzer abrufen möchten, die in den letzten 20 Tagen aus einem
Konto oder einer der Domains des Kontos gelöscht wurden, verwenden Sie die folgenden GET Anfragen
und fügen Sie die in
Anfragen autorisieren beschriebene Autorisierung ein. Informationen zum Wiederherstellen eines Nutzers finden Sie unter Nutzer wiederherstellen.
Wenn Sie Nutzer abrufen möchten, die in den letzten 20 Tagen aus der primären Domain oder einer Subdomain des Kontos gelöscht wurden, verwenden Sie die folgende GET-Anfrage. Der Abfragestring domain ist der primäre Domainname der Domain. Informationen zu den Anfrage- und
Antwortattributen für Nutzer finden Sie in der
API-Referenz. Zur besseren Lesbarkeit enthält dieses Beispiel Zeilenumbrüche:
GET https://admin.googleapis.com/admin/directory/v1/users
?domain=primary domain name&pageToken=token for next results page
&maxResults=max number of results per page
&showDeleted=true
Wenn ein Konto mehrere Domains hat, können Sie Nutzer abrufen, die in den letzten 20 Tagen aus dem gesamten Konto gelöscht wurden. Verwenden Sie dazu die folgende GET-Anfrage. Zur besseren Lesbarkeit enthält dieses Beispiel Zeilenumbrüche:
GET https://admin.googleapis.com/admin/directory/v1/users
?customer=my_customer or customerId&pageToken=token for next results page
&maxResults=max number of results per page&showDeleted=true
- Der Abfragestring
customerist der Wertmy_customerodercustomerId. - Als Kontoadministrator verwenden Sie den String
my_customer, um diecustomerIdIhres Kontos darzustellen. - Als Reseller-Administrator verwenden Sie die
customerIddes weiterverkauften Kunden. Verwenden Sie für diecustomerId, den primären Domainnamen des Kontos in der Anfrage des Vorgangs „Alle Nutzer in einer Domain abrufen“. Die resultierende Antwort enthält den WertcustomerId.
Informationen zu den Anfrage- und Antwortattributen finden Sie in der API-Referenz.
In diesem Beispiel fordert ein Kontoadministrator alle gelöschten Nutzer im Konto an:
GET https://admin.googleapis.com/admin/directory/v1/users?customer=my_customer&showDeleted=true
JSON-Antwort
Bei einer erfolgreichen Antwort wird der Statuscode „HTTP 200“ zurückgegeben. Zusammen mit dem Statuscode werden in der Antwort alle Kontonutzer zurückgegeben, die in den letzten 20 Tagen gelöscht wurden:
{
"kind": "directory#users",
"users": [
{
"kind": "directory#user",
"id": "the unique user id",
"primaryEmail": "user1@example.com"
},
{
"kind": "directory#user",
"id": "the unique user id",
"primaryEmail": "user3@example.com"
}
],
"nextPageToken": "token for next page of deleted users"
}
Foto eines Nutzers abrufen
Die API ruft eine Miniaturansicht des Fotos ab, das aktuelle Google-Profilfoto. Wenn Sie das aktuelle Foto des Nutzers abrufen möchten, verwenden Sie die folgende GET Anfrage und fügen Sie die in Anfragen autorisieren beschriebene Autorisierung ein. Der userKey kann die primäre E‑Mail-Adresse des Nutzers, die id des Nutzers oder eine der Alias-E‑Mail-Adressen des Nutzers sein. Informationen zu den Anfrage- und Antwortattributen finden Sie in der
API-Referenz.
GET https://admin.googleapis.com/admin/directory/v1/users/userKey/photos/thumbnail
In diesem Beispiel wird das aktuelle Foto von liz@example.com zurückgegeben:
GET https://admin.googleapis.com/admin/directory/v1/users/liz@example.com/photos/thumbnail
JSON-Antwort
Bei einer erfolgreichen Antwort wird der Statuscode „HTTP 200“ zurückgegeben.
{
"kind": "directory#user#photo",
"id": "the unique user id",
"primaryEmail": "liz@example.com",
"mimeType": "the photo mime type",
"height": "the photo height in pixels",
"width": "the photo width in pixels",
"photoData": "web safe base64 encoded photo data"
}
Die websichere Base64-Codierung Ihrer Fotos durch die API ähnelt der RFC 4648 „base64url“. Das bedeutet:
- Das Schrägstrichzeichen (/) wird durch das Unterstrichzeichen (_) ersetzt.
- Das Pluszeichen (+) wird durch das Minuszeichen (-) ersetzt.
- Das Gleichheitszeichen (=) wird durch das Sternchen (*) ersetzt.
- Für die Auffüllung wird das Punktzeichen (.) anstelle der RFC 4648-Definition für die Basis-URL verwendet, bei der das Gleichheitszeichen (=) für die Auffüllung verwendet wird. Dies vereinfacht das URL-Parsing.
- Unabhängig von der Größe des hochgeladenen Fotos wird es von der API proportional auf 96 × 96 Pixel verkleinert.
Wenn Sie kompatible Links aus JavaScript erstellen müssen, enthält die Google Closure Library Base64-Codierungs- und ‑Decodierungsfunktionen , die unter der Apache-Lizenz veröffentlicht werden.
Nutzer als Nicht-Administrator abrufen
Nutzerkonten können nur von Administratoren geändert werden. Nutzer in der Domain können jedoch Nutzerprofile lesen. Ein Nutzer ohne Administratorberechtigungen kann eine
users.get oder
users.list Anfrage mit
dem viewType Parameter gleich domain_public senden, um das öffentliche
Profil eines Nutzers abzurufen. Der Bereich https://www.googleapis.com/auth/admin.directory.user.readonly ist ideal für diesen Anwendungsfall.
Die Ansicht domain_public ermöglicht einem Nutzer ohne Administratorberechtigungen den Zugriff auf einen Standardsatz von Kernfeldern. Für ein benutzerdefiniertes Feld können Sie beim Definieren des Schemas auswählen, ob es öffentlich oder privat sein soll.
Foto eines Nutzers aktualisieren
Wenn Sie das Foto eines Nutzers aktualisieren möchten, verwenden Sie die folgende PUT Anfrage und fügen Sie die
in
Anfragen autorisieren beschriebene Autorisierung ein. Der userKey kann die primäre E‑Mail-Adresse des Nutzers, die id des Nutzers oder eine der Alias-E‑Mail-Adressen des Nutzers sein. Informationen zu den Anfrage- und Antwortattributen finden Sie in der
API-Referenz.
PUT https://admin.googleapis.com/admin/directory/v1/users/userKey/photos/thumbnail
In diesem Beispiel wird das Foto für liz@example.com aktualisiert:
PUT https://admin.googleapis.com/admin/directory/v1/users/liz@example.com/photos/thumbnail
{
"photoData": "web safe base64 encoded photo data"
}
Beim Aktualisieren eines Fotos werden die Parameter height und width von der API ignoriert.
JSON-Antwort
Bei einer erfolgreichen Antwort wird der Statuscode „HTTP 200“ zurückgegeben.
{
"kind": "directory#user#photo",
"id": "the unique user id",
"primaryEmail": "liz@example.com",
"mimeType": "the photo mime type",
"height": "the photo height in pixels",
"width": "the photo width in pixels",
"photoData": "web safe base64 encoded photo data"
}
Foto eines Nutzers löschen
Wenn Sie das Foto eines Nutzers löschen möchten, verwenden Sie die folgende DELETE Anfrage und fügen Sie die
Autorisierung ein, die in
Anfragen autorisieren beschrieben ist. Der userKey kann die primäre E‑Mail-Adresse des Nutzers, die id des Nutzers oder eine der Alias-E‑Mail-Adressen des Nutzers sein. Informationen zu den Anfrage- und Antwortattributen finden Sie in der
API-Referenz.
DELETE https://admin.googleapis.com/admin/directory/v1/users/userKey/photos/thumbnail
Nach dem Löschen wird das Foto des Nutzers nicht mehr angezeigt. Wo immer das Foto eines Nutzers erforderlich ist, wird stattdessen eine Silhouette angezeigt.
Nutzerkonto löschen
Wenn Sie ein Nutzerkonto löschen möchten, verwenden Sie die folgende DELETE Anfrage und fügen Sie die
in
Anfragen autorisieren beschriebene Autorisierung ein. Der userKey kann die primäre E‑Mail-Adresse des Nutzers, die eindeutige id des Nutzers oder eine der Alias-E‑Mail-Adressen des Nutzers sein. Informationen zu den Anfrage- und Antwortattributen finden Sie in der API-Referenz.
DELETE https://admin.googleapis.com/admin/directory/v1/users/userKey
In diesem Beispiel wird das Nutzerkonto liz@example.com gelöscht:
DELETE https://admin.googleapis.com/admin/directory/v1/users/liz@example.com
Bei einer erfolgreichen Antwort wird der Statuscode „HTTP 200“ zurückgegeben.
Beachten Sie Folgendes, bevor Sie einen Nutzer löschen:
- Der gelöschte Nutzer kann sich nicht mehr anmelden.
- Weitere Informationen zum Löschen von Nutzerkonten finden Sie in der Admin-Hilfe.
Nutzerkonto wiederherstellen
Ein Nutzer, der in den letzten 20 Tagen gelöscht wurde, muss bestimmte Bedingungen erfüllen, bevor sein Konto wiederhergestellt werden kann.
Wenn Sie ein Nutzerkonto wiederherstellen möchten, verwenden Sie die folgende POST Anfrage und fügen Sie die
in
Anfragen autorisieren beschriebene Autorisierung ein. Das
userKey ist die eindeutige Nutzer-id, die in der Antwort des
Vorgangs „In den letzten 20 Tagen gelöschte Nutzer abrufen“ enthalten ist.
Die primäre E‑Mail-Adresse des Nutzers oder eine der Alias-E‑Mail-Adressen des Nutzers kann für diese Aktion nicht im userKey verwendet werden. Informationen zu den Anfrage- und
Antwortattributen finden Sie in der
API-Referenz.
POST https://admin.googleapis.com/admin/directory/v1/users/userKey/undelete
In diesem Beispiel wird der Nutzer liz@example.com wiederhergestellt. Alle vorherigen Kontoattribute dieses Nutzers werden wiederhergestellt:
POST https://admin.googleapis.com/admin/directory/v1/users/12309329403209438205/undelete
Bei einer erfolgreichen Antwort wird der Statuscode „HTTP 204“ zurückgegeben. Wenn Sie das Konto des wiederhergestellten Nutzers sehen möchten, verwenden Sie den Vorgang „Nutzer abrufen“.