Die Directory API bietet programmatische Methoden zum Erstellen, Aktualisieren und Löschen von Nutzern. Sie können auch Informationen zu einzelnen Nutzern oder Nutzerlisten abrufen, die bestimmte Kriterien erfüllen. Im Folgenden finden Sie Beispiele für einige grundlegende Nutzervorgänge.
Nutzerkonto erstellen
Sie können jeder Domain Ihres Google Workspace-Kontos ein Nutzerkonto hinzufügen. Bestätigen Sie vor dem Hinzufügen eines Nutzerkontos die Domaininhaberschaft.
Wenn Sie Ihr privates Gmail-Konto auf ein geschäftliches E-Mail-Konto mit Ihrem eigenen Domainnamen umgestellt haben, können Sie neue Nutzerkonten erst erstellen, wenn Sie zusätzliche Google Workspace-Einstellungen aktivieren. Weitere Informationen
Verwenden Sie zum Erstellen eines Nutzerkontos mit einer Ihrer Domains die folgende POST
-Anfrage und fügen Sie die in Authentifizierung und Autorisierung beschriebene Autorisierung hinzu. Die verfügbaren Bereiche für die Directory API finden Sie in der Liste der OAuth 2.0-Bereiche. Informationen zu den Eigenschaften des Anfrageabfragestrings finden Sie in der Methode users.insert()
.
POST https://admin.googleapis.com/admin/directory/v1/users
Bei allen Erstellungsanfragen müssen Sie die zur Übermittlung der Anfrage erforderlichen Informationen einreichen. Wenn Sie Clientbibliotheken verwenden, werden die Datenobjekte aus der ausgewählten Sprache in JSON-Datenobjekte umgewandelt.
JSON-Anfrage
Im folgenden JSON-Code sehen Sie eine Beispielanfrage zum Erstellen eines Nutzers. Eine 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 HTTP-503
-Antworten vom API-Server, die angeben, dass Ihr Kontingent überschritten wurde. Wenn Sie diese Antworten erhalten, verwenden Sie einen exponentiellen Backoff-Algorithmus, um Ihre Anfragen noch einmal zu senden.
Hinweise zu einem neuen Konto:
- Wenn das Google-Konto E-Mail-Lizenzen erworben hat, wird dem neuen Nutzerkonto automatisch ein Postfach zugewiesen. Es kann einige Minuten dauern, bis diese Aufgabe abgeschlossen und aktiviert ist.
- Das Bearbeiten eines schreibgeschützten Felds in einer Anfrage wie
isAdmin
wird vom API-Dienst ignoriert. - In einem Konto sind maximal 600 Domains zulässig (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 obersten Organisationseinheit. 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 der Zugriff des Nutzers. Weitere Informationen zu Organisationsstrukturen finden Sie in der Hilfe zur Verwaltung. Weitere Informationen zum Verschieben eines Nutzers in eine andere Organisation finden Sie unter Nutzer aktualisieren.
- Ein
password
ist für neue Nutzerkonten erforderlich. Wenn einhashFunction
angegeben ist, muss das Passwort ein gültiger Hash-Schlüssel sein. Ist er nicht angegeben, sollte er im Klartextformat und zwischen 8 und 100 ASCII-Zeichen lang sein. Weitere Informationen finden Sie in der API-Referenz. - Für Nutzer, die einen flexiblen Tarif für Google Workspace nutzen, hat das Erstellen von Nutzern mit dieser API monetäre Auswirkungen. Es werden dann Gebühren für die Kundin oder den Kunden abgebucht. Weitere Informationen finden Sie unter API-Abrechnungsinformationen.
- Ein Google Workspace-Konto kann alle Ihre Domains enthalten. In einem Konto mit mehreren Domains können Nutzer in einer Domain Dienste mit Nutzern in anderen Kontodomains teilen. Weitere Informationen zu Nutzern in mehreren Domains finden Sie unter API-Informationen zu mehreren Domains.
- 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. Folgen Sie dann der Anleitung, 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 einladen, die kein Google-Konto haben, um in Google Drive zusammenzuarbeiten, erhalten sie Besucherkonten im Format „nutzername@IhrUnternehmen.de“. 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 für Drive-Dateien werden beibehalten. Weitere Informationen finden Sie unter Dokumente für Besucher freigeben.
Eine erfolgreiche Antwort gibt den HTTP 200-Statuscode zurück. Zusammen mit dem Statuscode werden in der Antwort die Eigenschaften für das neue Nutzerkonto zurückgegeben.
Nutzerkonto aktualisieren
Verwenden Sie zum Aktualisieren eines Nutzerkontos die folgende PUT
-Anfrage und fügen Sie die unter Anfragen autorisieren beschriebene Autorisierung hinzu. userKey
kann die primäre E-Mail-Adresse des Nutzers, der einzelne Nutzer id
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 jedoch die Patch-Semantik, sodass Sie nur die aktualisierten Felder in Ihrer Anfrage senden müssen.
Beispielanfrage
Im folgenden Beispiel lautete die givenName
des Nutzers bei der Erstellung 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
}
}
Durch die folgende Anfrage wird givenName
von „Elizabeth“ in „Liz“ geändert und außerdem eine private E-Mail-Adresse hinzugefügt. Beide E-Mail-Adressen werden vollständig angegeben, 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"
}
]
}
Eine erfolgreiche Antwort gibt einen HTTP 200
-Statuscode und eine User
-Ressource mit den aktualisierten Feldern zurück.
Beachten Sie beim Aktualisieren des Kontonamens Folgendes:
- Durch das Umbenennen eines Nutzerkontos werden die primäre E-Mail-Adresse des Nutzers und die beim Abrufen der Nutzerinformationen verwendete Domain geändert. Bevor Sie einen Nutzer umbenennen, sollten Sie ihn aus allen Browsersitzungen und Diensten abmelden.
- Das Umbenennen eines Nutzerkontos kann bis zu 10 Minuten dauern.
- Wenn Sie einen Nutzer umbenennen, wird der alte Nutzername als Alias beibehalten, um die kontinuierliche E-Mail-Zustellung in den Einstellungen der E-Mail-Weiterleitung sicherzustellen. Er ist nicht als neuer Nutzername verfügbar.
- Im Allgemeinen empfehlen wir außerdem, die E-Mail-Adresse des Nutzers nicht als Schlüssel für nichtflüchtige Daten zu verwenden, da sich die E-Mail-Adresse ändern kann.
- Eine vollständige Liste der Auswirkungen der Umbenennung eines Nutzers in Google Workspace-Anwendungen finden Sie in der Admin-Hilfe.
Nutzer zum Administrator machen
Um einen Nutzer zu einem Super Admin zu machen, verwenden Sie die folgende POST
-Anfrage und fügen Sie die unter Anfragen autorisieren beschriebene Autorisierung hinzu. userKey
kann die primäre E-Mail-Adresse des Nutzers, der einzelne Nutzer id
oder eine der Alias-E-Mail-Adressen des Nutzers sein. Informationen zu den Anfrage- und Antwortattributen finden Sie in der API-Referenz. Weitere Informationen zu Powerusern finden Sie in der Hilfe für Administratoren.
POST https://admin.googleapis.com/admin/directory/v1/users/userKey/makeAdmin
JSON-Anfrage
In diesem Beispiel ist der Nutzer mit der E-Mail-Adresse userKey
liz@example.com ein Poweruser:
POST https://admin.googleapis.com/admin/directory/v1/users/liz@example.com/makeAdmin
{ "status": true }
Eine erfolgreiche Antwort gibt den HTTP 200-Statuscode zurück.
Nutzerbeziehungen verwalten
Die Directory API verwendet das Feld relations
, um verschiedene Arten von Beziehungen zwischen Nutzern zu definieren. In einer Geschäftsumgebung verwenden Mitarbeiter dieses Feld häufig für Manager-Mitarbeiter- und Assistentenbeziehungen, aber das Feld unterstützt auch viele andere Typen. Die Beziehung wird auf der Karte „Ähnliche 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 Informationen zum Verzeichnisprofil eines Nutzers hinzufügen.
Eine Beziehung zwischen Nutzern erstellen
Sie können eine Beziehung in nur eine Richtung definieren, beginnend mit dem „besitzenden“ Nutzer, dessen Eintrag das Feld relations
enthält. type
beschreibt die Beziehung der anderen Person zum Eigentümer. Beispiel: Bei einer Manager-Mitarbeiter-Beziehung ist der Mitarbeiter der Inhaber und Sie fügen seinem Konto das Feld relations
mit dem Typ manager
hinzu. Informationen zu zulässigen Typen finden Sie in der Objektreferenz zu User
.
Richten Sie die Beziehung ein, indem Sie den Inhaber mit dem JSON-Anfragetext mit dem Feld relations
erstellen oder aktualisieren.
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
Das Feld relations
kann nur als Ganzes aktualisiert werden. Sie können die aufgeführten Personen nicht kontaktieren, um den Beziehungstyp zu ändern oder sie zu entfernen. Wenn Sie im Beispiel oben die bestehende Manager-Beziehung entfernen und den Manager des gepunkteten Bereichs zum Manager des Nutzers machen möchten, aktualisieren Sie das Konto des Eigentümers mit allen Werten des Felds.
{
"relations": [
{
"value": "EMAIL_ADDRESS_RELATION_2",
"type": "manager"
}
]
}
Wenn Sie alle Beziehungen des Eigentümers entfernen möchten, setzen Sie relations
auf leer:
{
"relations": []
}
Nutzer abrufen
Verwenden Sie zum Abrufen eines Nutzers die folgende GET
-Anfrage und fügen Sie die unter Anfragen autorisieren beschriebene Autorisierung hinzu. userKey
kann die primäre E-Mail-Adresse des Nutzers, der einzelne Nutzer id
oder eine der Alias-E-Mail-Adressen des Nutzers sein. Informationen zu den Attributen für Anfragen und Antworten finden Sie in der API-Referenz.
GET https://admin.googleapis.com/admin/directory/v1/users/userKey
In diesem Beispiel werden die Eigenschaften des Nutzerkontos zurückgegeben, dessen primäre E-Mail-Adresse oder Alias-E-Mail-Adresse liz@example.com lautet.
GET https://admin.googleapis.com/admin/directory/v1/users/liz@example.com
JSON-Antwort
Eine erfolgreiche Antwort gibt den HTTP 200-Statuscode zurück. Neben dem Statuscode werden in der Antwort die Eigenschaften 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 unter Anfragen autorisieren beschriebene Autorisierung hinzu. Zur besseren Lesbarkeit werden in diesem Beispiel Zeilen zurückgegeben:
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 Attributen für Anfragen und Antworten finden Sie in der API-Referenz.
JSON-Antwort
In diesem Beispiel werden alle Nutzer in der Domain example.com mit maximal zwei Nutzerdomains pro Antwortseite zurückgegeben. Für die nachfolgende Liste der Nutzer in dieser Antwort gibt es ein nextPageToken
. 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
Eine erfolgreiche Antwort gibt den HTTP 200-Statuscode zurück. Neben dem Statuscode gibt die Antwort zwei Nutzerkonten in der Domain beispiel.de (maxResults=2
) zurück:
{ "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", "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 unter Anfragen autorisieren beschriebene Autorisierung hinzu. Zur besseren Lesbarkeit werden in diesem Beispiel Zeilen zurückgegeben:
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
customer
ist der Wertmy_customer
odercustomerId
. - Verwenden Sie den String
my_customer
, um dencustomerId
Ihres Kontos darzustellen. - Verwenden Sie als Reseller-Administrator die
customerId
des Reseller-Kunden. Verwenden Sie fürcustomerId
den primären Domainnamen des Kontos aus der Anfrage Alle Nutzer in einer Domain abrufen. Die resultierende Antwort hat den WertcustomerId
. - Der optionale Abfragestring
orderBy
bestimmt, ob die Liste nach der primären E-Mail-Adresse, dem Familiennamen oder dem Vornamen des Nutzers sortiert wird. Bei Verwendung vonorderBy
können Sie auch den AbfragestringsortOrder
verwenden, um die Ergebnisse in aufsteigender oder absteigender Reihenfolge aufzulisten. - Mit dem optionalen Abfragestring
query
können Sie in einem Nutzerprofil in mehreren Feldern suchen, einschließlich zentrale und benutzerdefinierte Felder. Beispiele finden Sie unter Nach Nutzern suchen.
Informationen zu den Attributen für Anfragen und Antworten finden Sie in der API-Referenz.
In diesem Beispiel fordert ein Kontoadministrator an, dass alle Nutzer im Konto auf jeder Antwortseite einen Nutzereintrag erhalten. nextPageToken
ruft die folgende Ergebnisseite auf:
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 mit dem customerId
-Wert von C03az79cb
an.
GET https://admin.googleapis.com/admin/directory/v1/users?customer=C03az79cb&maxResults=1
JSON-Antwort
Eine erfolgreiche Antwort gibt den HTTP 200-Statuscode zurück. Neben 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 innerhalb der letzten 20 Tage aus einem Konto oder von einer der Domains des Kontos gelöscht wurden, verwenden Sie die folgenden GET
-Anfragen und fügen Sie die unter Anfragen autorisieren beschriebene Autorisierung hinzu. Informationen zum Wiederherstellen eines Nutzers finden Sie unter Nutzer wiederherstellen.
Wenn Sie Nutzer abrufen möchten, die innerhalb der letzten 20 Tage aus der primären Domain des Kontos oder einer Subdomain gelöscht wurden, verwenden Sie die folgende GET
-Anfrage. Der Abfragestring domain
ist der primäre Domainname der Domain. Informationen zu den Nutzeranfrage- und Antwortattributen finden Sie in der API-Referenz. Zur besseren Lesbarkeit werden in diesem Beispiel Zeilen zurückgegeben:
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=trueWenn ein Konto mehrere Domains hat, können Sie mit der folgenden
GET
-Anfrage Nutzer abrufen, die innerhalb der letzten 20 Tage aus dem gesamten Konto gelöscht wurden. Zur besseren Lesbarkeit werden in diesem Beispiel Zeilen zurückgegeben:
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
customer
ist der Wertmy_customer
odercustomerId
. - Verwenden Sie als Kontoadministrator den String
my_customer
, um dencustomerId
Ihres Kontos darzustellen. - Verwenden Sie als Reseller-Administrator die
customerId
des Reseller-Kunden. Verwenden Sie fürcustomerId
den primären Domainnamen des Kontos aus der Anfrage Alle Nutzer in einer Domain abrufen. Die resultierende Antwort hat den WertcustomerId
.
Informationen zu den Attributen für Anfragen und Antworten 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
Eine erfolgreiche Antwort gibt den HTTP 200-Statuscode zurück. Neben dem Statuscode werden in der Antwort alle Konten zurückgegeben, die innerhalb der letzten 20 Tage 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" }
Bild eines Nutzers abrufen
Die API ruft eine Miniaturansicht des aktuellen Google-Profilfotos ab. Um das letzte Foto des Nutzers abzurufen, verwenden Sie die folgende GET
-Anfrage und fügen Sie die unter Anfragen autorisieren beschriebene Autorisierung hinzu. Die userKey
kann die primäre E-Mail-Adresse des Nutzers, id
des Nutzers oder eine der E-Mail-Aliasse des Nutzers sein. Informationen zu den Attributen für Anfragen und Antworten finden Sie in der API-Referenz.
GET https://admin.googleapis.com/admin/directory/v1/users/userKey/photos/thumbnail
In diesem Beispiel wird das neueste Foto von liz@example.com zurückgegeben:
GET https://admin.googleapis.com/admin/directory/v1/users/liz@example.com/photos/thumbnail
JSON-Antwort
Eine erfolgreiche Antwort gibt den HTTP 200-Statuscode zurück.
{ "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 deiner Fotos ähnelt der RFC 4648-Version „base64url“. Das bedeutet:
- Der Schrägstrich (/) wird durch einen Unterstrich (_) ersetzt.
- Das Pluszeichen (+) wird durch einen Bindestrich (-) ersetzt.
- Das Gleichheitszeichen (=) wird durch ein Sternchen (*) ersetzt.
- Für das Padding wird der Punkt (.) anstelle der RFC-4648-Basis-URL-Definition verwendet, die das Gleichheitszeichen (=) verwendet. Dies vereinfacht die URL-Analyse.
- Unabhängig von der Größe des hochgeladenen Fotos wird es durch die API proportional auf 96 x 96 Pixel verkleinert.
Wenn Sie kompatible Links aus JavaScript erstellen müssen, finden Sie in der Google Closure Library Base64-Codierungs- und -Decodierungsfunktionen, die unter der Apache-Lizenz veröffentlicht werden.
Nutzer als Nicht-Administrator abrufen
Während Nutzerkonten nur von Administratoren geändert werden können, kann jeder Nutzer in der Domain Nutzerprofile lesen. Ein Nicht-Administrator kann eine users.get
- oder users.list
-Anfrage mit dem Parameter viewType
, der domain_public
entspricht, stellen, um das öffentliche Profil eines Nutzers abzurufen. Der Bereich https://www.googleapis.com/auth/admin.directory.user.readonly
ist für diesen Anwendungsfall ideal.
Die Ansicht domain_public
ermöglicht einem Nicht-Administrator den Zugriff auf einen Standardsatz von Kernfeldern. Bei einem benutzerdefinierten Feld können Sie beim Definieren des Schemas auswählen, ob es öffentlich oder privat sein soll.
Bild eines Nutzers aktualisieren
Wenn Sie das Foto eines Nutzers aktualisieren möchten, verwenden Sie die folgende PUT
-Anfrage und fügen Sie die unter Anfragen autorisieren beschriebene Autorisierung ein. userKey
kann die primäre E-Mail-Adresse des Nutzers, der Nutzer id
oder eine beliebige E-Mail-Adresse des Nutzeralias sein. Informationen zu den Attributen für Anfragen und Antworten finden Sie in der API-Referenz.
PUT https://admin.googleapis.com/admin/directory/v1/users/userKey/photos/thumbnail
In diesem Beispiel wird das Foto 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 height
und width
von der API ignoriert.
JSON-Antwort
Eine erfolgreiche Antwort gibt den HTTP 200-Statuscode zurück.
{ "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" }
Bild eines Nutzers löschen
Verwenden Sie die folgende DELETE
-Anfrage und fügen Sie die unter Anfragen autorisieren beschriebene Autorisierung ein, um das Foto eines Nutzers zu löschen. userKey
kann die primäre E-Mail-Adresse des Nutzers, der Nutzer id
oder eine beliebige E-Mail-Adresse des Nutzeralias sein. Informationen zu den Attributen für Anfragen und Antworten 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. Ist das Foto eines Nutzers erforderlich, wird stattdessen eine Silhouette angezeigt.
Nutzerkonto löschen
Verwenden Sie zum Löschen eines Nutzerkontos die folgende DELETE
-Anfrage und fügen Sie die unter Anfragen autorisieren beschriebene Autorisierung hinzu. userKey
kann die primäre E-Mail-Adresse des Nutzers, der einzelne Nutzer id
oder eine der Alias-E-Mail-Adressen des Nutzers sein. Informationen zu den Attributen für Anfragen und Antworten 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 nur ein HTTP 200-Statuscode zurückgegeben.
Wichtige Punkte, die vor dem Löschen eines Nutzers zu beachten sind:
- Der gelöschte Nutzer kann sich nicht mehr anmelden.
- Weitere Informationen zum Löschen von Nutzerkonten finden Sie in der Hilfe für Administratoren.
Nutzerkonto wiederherstellen
Ein Nutzer, der in den letzten 20 Tagen gelöscht wurde, muss bestimmte Voraussetzungen erfüllen, damit sein Konto wiederhergestellt werden kann.
Wenn Sie ein Nutzerkonto wiederherstellen möchten, verwenden Sie die folgende POST
-Anfrage und fügen Sie die unter Anfragen autorisieren beschriebene Autorisierung hinzu. userKey
ist der einzelne Nutzer id
, der in der Antwort auf den Vorgang Nutzer abrufen, die in den letzten 20 Tagen gelöscht wurden gefunden wurde. Die primäre E-Mail-Adresse oder eine der Alias-E-Mail-Adressen des Nutzers kann für diesen Vorgang nicht in der userKey
verwendet werden. Informationen zu den Attributen für Anfragen und Antworten 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 Kontoeigenschaften dieses Nutzers werden wiederhergestellt:
POST https://admin.googleapis.com/admin/directory/v1/users/12309329403209438205/undelete
Bei einer erfolgreichen Antwort wird nur der HTTP 204-Statuscode zurückgegeben. Mit dem Vorgang Nutzer abrufen können Sie das Konto des wiederhergestellten Nutzers aufrufen.