Mit der Methode users.list() der Directory API können Sie nach Nutzern suchen, die bestimmten Attributen entsprechen. Diese Methode akzeptiert den Parameter query, der eine Suchanfrage mit einer oder mehreren Suchklauseln kombiniert. Jede Suchklausel besteht aus drei Teilen:
- Feld
- Nutzerattribut, nach dem gesucht wird. Beispiel:
givenName. - Operator
- Test, der an den Daten ausgeführt wird, um eine Übereinstimmung zu finden. Mit dem Operator
:wird beispielsweise geprüft, ob ein Textattribut einen Wert enthält. - Wert
- Der Inhalt des Attributs, das getestet wird. Beispiel:
Jane.
Wenn Sie in einer Abfrage in mehreren Feldern suchen möchten, fügen Sie jede Suchklausel hinzu und trennen Sie sie durch ein Leerzeichen. Der Vorgang ist ein implizites AND.
Felder
| Feld | Werttyp | Operatoren | Beschreibung |
|---|---|---|---|
| Keine Angabe | String | Vergleichen Sie mit dem Wert in givenName, familyName oder email. |
|
name |
String | =, : |
Der verkettete Wert von givenName und familyName. |
email |
String | =, :, :{PREFIX}* |
Die E-Mail-Adressen des Nutzers, einschließlich Aliasse. |
givenName |
String | =, :, :{PREFIX}* |
Der Vorname eines Nutzers. |
familyName |
String | =, :, :{PREFIX}* |
Der Familien- oder Nachname eines Nutzers. |
isAdmin |
boolean | = |
Gibt an, ob ein Nutzer Super Admin-Berechtigungen hat. |
isDelegatedAdmin |
boolean | = |
Gibt an, ob ein Nutzer Berechtigungen für delegierte Administratoren hat. |
isSuspended |
boolean | = |
Gibt an, ob das Konto eines Nutzers gesperrt ist. |
isArchived |
boolean | = |
Ob das Konto eines Nutzers archiviert ist. |
im |
String | =, : |
IM-Netzwerk-ID. |
externalId |
String | =, : |
Wert der externen ID. |
manager |
String | = |
Die E-Mail-Adresse des Managers eines Nutzers, entweder direkt oder in der Managementkette. |
managerId |
String | = |
Die ID des Managers eines Nutzers, entweder direkt oder in der Managementkette. |
directManager |
String | = |
Die E-Mail-Adresse des direkten Vorgesetzten eines Nutzers. |
directManagerId |
String | = |
Die ID des direkten Vorgesetzten eines Nutzers. |
address |
String | : |
Entspricht allen Adressfeldern. |
addressPoBox |
String | =, : |
Ein Postfach. |
addressExtended |
String | =, : |
Eine erweiterte Adresse, z. B. eine mit einer Unterregion. |
addressStreet |
String | =, : |
Eine Adresse. |
addressLocality |
String | =, : |
Eine Stadt oder Gemeinde der Adresse. |
addressRegion |
String | =, : |
Eine abgekürzte Provinz oder ein abgekürztes Bundesland. |
addressPostalCode |
String | =, : |
Eine Postleitzahl. |
addressCountry |
String | =, : |
Ein Land. |
orgName |
String | =, : |
Einen Organisationsnamen. |
orgTitle |
String | =, : |
Die Stellenbezeichnung eines Nutzers innerhalb der Organisation. |
orgDepartment |
String | =, : |
Eine Abteilung innerhalb der Organisation. |
orgDescription |
String | =, : |
Die Beschreibung einer Organisation. |
orgCostCenter |
String | =, : |
Die Kostenstelle einer Organisation. |
phone |
String | = |
Die Telefonnummer eines Nutzers. |
orgUnitPath |
String | = |
Der vollständige Pfad einer Organisationseinheit. Dies entspricht allen Organisationsketten unter dem Ziel. Mit 'orgUnitPath=/' werden beispielsweise alle Nutzer in der Organisation zurückgegeben. Dieses Feld kann nur verwendet werden, wenn viewType=admin_view. |
isEnrolledIn2Sv |
boolean | = |
Gibt an, ob ein Nutzer für die Bestätigung in zwei Schritten registriert ist. |
isEnforcedIn2Sv |
boolean | = |
Gibt an, ob die 2‑Faktor-Authentifizierung für den Nutzer erzwungen wird. |
schemaName.fieldName |
? | ? | Ein benutzerdefiniertes Nutzerattribut, auf das über das Schema und den Feldnamen verwiesen wird. Die Eigenschaft indexed des Felds muss auf true festgelegt sein. |
Werttypen
| Werttyp | Entsprechender fieldType-Wert im Schema | Hinweise |
|---|---|---|
| String | STRING, EMAIL, PHONE |
Setzen Sie ' in einfache Anführungszeichen, wenn die Abfrage Leerzeichen enthält. Maskieren Sie einfache Anführungszeichen in Abfragen mit \', z. B. 'Valentine\'s Day'. |
| boolean | BOOL |
Muss den Wert true oder false haben. Unterstützt nur den Operator =. |
| Zahl | INT64, DOUBLE |
Als Dezimaltrennzeichen muss ein Punkt verwendet werden. Tausendertrennzeichen sind nicht zulässig, z. B. 150430.25. |
| Datum | DATE |
Im Format JJJJ-MM-TT angegeben, z. B. 2001-02-15. |
Operatoren
| Operator | Unterstützte Werttypen | Hinweise |
|---|---|---|
= |
String, boolescher Wert, Zahl, Datum | Das Feld und der Wert stimmen genau überein. Beispiel: givenName=Jane stimmt mit allen Nutzern mit dem Attribut givenName "Jane" überein, aber nicht mit "Jane Ann". Wird für die meisten Stringfelder unterstützt (siehe oben). |
: |
String | Das Feld enthält die vollständigen Wörter im Wert in der richtigen Reihenfolge. Eine Abfrage mit givenName:Jane stimmt beispielsweise mit Nutzern mit givenName-Werten von "Jane" und "Jane Ann" überein, aber nicht mit "Janet". Eine Anfrage mit mehreren Wörtern für 'givenName:Mary Ann' würde mit den Werten "Mary Ann Evans" und "Sarah Mary Ann" übereinstimmen, aber nicht mit "Ann Mary". Wird für die meisten Stringfelder unterstützt (siehe oben). |
:{PREFIX}* |
String | Das Feld beginnt mit dem Wert. Eine Abfrage mit givenName:Jane* entspricht beispielsweise Nutzern mit givenName-Werten von "Jane", "Jane Ann" und "Janet", aber nicht "Sarah Jane". Wird nur für eine begrenzte Anzahl von Stringfeldern unterstützt (siehe oben). Wird für benutzerdefinierte Attribute nicht unterstützt. |
:[{MIN},{MAX}] |
number, date | Das Feld liegt in einem bestimmten Bereich. Damit eine Übereinstimmung erzielt wird, muss der Wert des Felds größer oder gleich {MIN} und kleiner als {MAX} sein. Für benutzerdefinierte Zahlenattribute muss ein numericIndexingSpec angegeben werden, damit dieser Operator unterstützt wird. |
> |
number, date | Das Feld ist größer als der Wert. Für benutzerdefinierte Zahlenattribute muss ein numericIndexingSpec angegeben werden, damit dieser Operator unterstützt wird. |
>= |
number, date | Das Feld ist größer als oder gleich dem Wert. Für benutzerdefinierte Zahlenattribute muss ein numericIndexingSpec angegeben werden, damit dieser Operator unterstützt wird. |
< |
number, date | Der Wert des Felds ist kleiner als der angegebene Wert. Für benutzerdefinierte Zahlenattribute muss ein numericIndexingSpec angegeben werden, damit dieser Operator unterstützt wird. |
<= |
number, date | Das Feld ist kleiner als oder gleich dem Wert. Für benutzerdefinierte Zahlenattribute muss ein numericIndexingSpec angegeben werden, damit dieser Operator unterstützt wird. |
Beispiele
Für alle Anfragen wird die Methode users.list verwendet. Die entsprechende HTTP-Anfrage sieht so aus (Zeilenumbrüche zur besseren Lesbarkeit):
GET https://admin.googleapis.com/admin/directory/v1/users?domain=DOMAIN_NAME&query=QUERY_PARAMETERS
Nach einem Nutzer suchen
Das Abfragefeld name wird für den verketteten Wert von givenName und familyName getestet. Eine Anfrage für name='Jane' gibt für einen Nutzer mit givenName='Jane' und familyName='Smith' keine Ergebnisse zurück.
name='Jane Smith'
Nach Nutzern mit einem givenName ODER familyName suchen, das einen Wert enthält
name:'Jane'
Nach Nutzern suchen, die mit einem E‑Mail-Präfix übereinstimmen
email:admin*
Alle Super Admins suchen
isAdmin=true
Nach Nutzern mit orgTitles suchen, die „Manager“ enthalten
orgTitle:Manager
Nach Nutzern mit einem gemeinsamen Manager in der Berichtskette suchen
manager='janesmith@example.com'
Nach Nutzern mit demselben direkten Vorgesetzten suchen
directManager='bobjones@example.com'
Nach Nutzern in einem bestimmten Land suchen
addressCountry='Sweden'
Nach Nutzern in einer bestimmten Organisation suchen
orgName='Human Resources'
Nach Managern in einer bestimmten Organisation suchen
orgName=Engineering orgTitle:Manager
Nach benutzerdefinierten Nutzerattributen suchen
Nach allen Mitarbeitern suchen, die an einem bestimmten Projekt arbeiten
EmploymentData.projects:'GeneGnomes'
Nach allen Mitarbeitern an einem bestimmten Standort suchen
EmploymentData.location='Atlanta'
Nach allen Mitarbeitern über Jobebene 7 suchen
EmploymentData.jobLevel>=7
Nach allen Mitarbeitern mit Job-Levels suchen, die >= 5 und < 8 sind
EmploymentData.jobLevel:[5,8]
Nach allen Mitarbeitern suchen, die die 2‑Faktor-Authentifizierung aktiviert haben
isEnrolledIn2Sv=true
Nach allen Mitarbeitern suchen, für die die 2‑Faktor-Authentifizierung erzwungen wird
isEnforcedIn2Sv=true