Mit der Methode users.list()
der Directory API können Sie nach Nutzern suchen, die mit bestimmten Attributen übereinstimmen. Diese Methode akzeptiert den Parameter query
, bei dem es sich um eine Suchanfrage handelt, die eine oder mehrere Suchklauseln kombiniert. Jede Suchklausel besteht
aus drei Teilen:
- Field
- Nutzerattribut, das gesucht wird Beispiel:
givenName
. - Betreiber
- Einen Test, der mit den Daten durchgeführt wird, um eine Übereinstimmung zu erzielen. Beispielsweise prüft der Operator
:
, ob ein Textattribut einen Wert enthält. - Wert
- Der Inhalt des getesteten Attributs. Beispiel:
Jane
.
Wenn Sie mehrere Felder in einer Abfrage durchsuchen möchten, fügen Sie jede Suchklausel durch ein Leerzeichen getrennt ein. Der Vorgang ist ein impliziter AND
.
Felder
Field | Werttyp | Operatoren | Beschreibung |
---|---|---|---|
Keine Angaben | String | Vergleichen Sie 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 Aliassen. |
givenName |
String | = , : :{PREFIX}* |
Der Vorname oder der Vorname eines Nutzers. |
familyName |
String | = , : :{PREFIX}* |
Familien- oder Nachname eines Nutzers. |
isAdmin |
boolean | = |
Ob ein Nutzer Super Admin-Berechtigungen hat. |
isDelegatedAdmin |
boolean | = |
Gibt an, ob ein Nutzer Administratorberechtigungen delegiert hat. |
isSuspended |
boolean | = |
Ob das Konto eines Nutzers gesperrt ist. |
isArchived |
boolean | = |
Gibt an, ob das Konto eines Nutzers archiviert wurde. |
im |
String | =, : |
IM-Netzwerk-ID. |
externalId |
String | =, : |
Externer ID-Wert. |
manager |
String | = |
Die E-Mail-Adresse des Vorgesetzten eines Nutzers, entweder direkt oder weiter oben in der Verwaltungskette. |
managerId |
String | = |
Die ID des Vorgesetzten eines Nutzers, entweder direkt oder weiter oben in der Verwaltungskette. |
directManager |
String | = |
Die E-Mail-Adresse des direkten Vorgesetzten eines Nutzers. |
directManagerId |
String | = |
Die ID des direkten Verwaltungskontos eines Nutzers. |
address |
String | : |
Stimmt mit allen Adressfeldern überein. |
addressPoBox |
String | =, : |
Ein Postfach. |
addressExtended |
String | =, : |
Eine erweiterte Adresse, z. B. eine mit einer Unterregion. |
addressStreet |
String | =, : |
Eine Adresse. |
addressLocality |
String | =, : |
Ort oder Ort der Adresse. |
addressRegion |
String | =, : |
Eine abgekürzte Provinz oder ein Bundesstaat. |
addressPostalCode |
String | =, : |
Eine Postleitzahl. |
addressCountry |
String | =, : |
Ein Land. |
orgName |
String | =, : |
Ein Organisationsname. |
orgTitle |
String | =, : |
Der Titel eines Nutzers innerhalb der Organisation. |
orgDepartment |
String | =, : |
Eine Abteilung innerhalb des Unternehmens. |
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. Das entspricht allen Ketten von Organisationseinheiten unter dem Ziel. Beispiel: 'orgUnitPath=/' gibt alle Nutzer in der Organisation zurück. 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 Bestätigung in zwei Schritten für den Nutzer erzwungen wird. |
schemaName.fieldName |
? | ? | Ein benutzerdefiniertes Nutzerattribut, auf das durch sein Schema und seinen Feldnamen verwiesen wird. Die Eigenschaft indexed des Felds muss auf true festgelegt sein. |
Werttypen
Werttyp | Äquivalentes Schema fieldType | Hinweise |
---|---|---|
String | STRING , EMAIL , PHONE |
Setzen Sie ' in einfache Anführungszeichen, wenn die Abfrage Leerzeichen enthält. Verwenden Sie \' in einfachen Anführungszeichen, z. B. 'Valentine\'s Day' . |
boolean | BOOL |
Muss den Wert true oder false haben. Unterstützt nur den Operator = . |
Zahl | INT64 , DOUBLE |
Es muss ein Punkt als Dezimaltrennzeichen und kein Tausendertrennzeichen verwendet werden, z. B. 150430.25 . |
date | DATE |
Wird im Format JJJJ-MM-TT angegeben, z. B. 2001-02-15 . |
Operatoren
Betreiber | Unterstützte Werttypen | Hinweise |
---|---|---|
= |
string, boolean, number, date | Das Feld und der Wert stimmen genau überein. givenName=Jane stimmt beispielsweise mit allen Nutzern mit dem givenName -Attribut "Jane" überein, aber nicht mit "Jane Ann" . Wird für die meisten Stringfelder unterstützt (siehe oben). |
: |
String | Das Feld enthält die ganzen Wörter im Wert der Reihe nach. Eine Abfrage mit givenName:Jane ermittelt beispielsweise Nutzer mit den givenName -Werten "Jane" und "Jane Ann" , aber nicht "Janet" . Eine aus mehreren Wörtern bestehende Suchanfrage für 'givenName:Mary Ann' würde die Werte "Mary Ann Evans" und "Sarah Mary Ann" , aber nicht "Ann Mary" entsprechen. Wird für die meisten Stringfelder unterstützt (siehe oben). |
:{PREFIX}* |
String | Das Feld beginnt mit dem Wert. Eine Abfrage mit givenName:Jane* gleicht beispielsweise Nutzer mit den givenName -Werten "Jane" , "Jane Ann" und "Janet" ab, aber nicht "Sarah Jane" . Wird nur bei einer begrenzten Anzahl von Stringfeldern unterstützt (siehe oben). Wird bei benutzerdefinierten Attributen nicht unterstützt. |
:[{MIN},{MAX}] |
Zahl, Datum | Das Feld liegt innerhalb eines Bereichs. Dazu muss der Feldwert größer oder gleich {MIN} und kleiner als {MAX} sein. Bei benutzerdefinierten Zahlenattributen muss ein numericIndexingSpec angegeben werden, damit dieser Operator unterstützt wird. |
> |
Zahl, Datum | Das Feld ist größer als der Wert. Bei benutzerdefinierten Zahlenattributen muss ein numericIndexingSpec angegeben werden, damit dieser Operator unterstützt wird. |
>= |
Zahl, Datum | Das Feld ist größer oder gleich dem Wert. Bei benutzerdefinierten Zahlenattributen muss ein numericIndexingSpec angegeben werden, damit dieser Operator unterstützt wird. |
< |
Zahl, Datum | Das Feld ist kleiner als der Wert. Bei benutzerdefinierten Zahlenattributen muss ein numericIndexingSpec angegeben werden, damit dieser Operator unterstützt wird. |
<= |
Zahl, Datum | Das Feld ist kleiner oder gleich dem Wert. Bei benutzerdefinierten Zahlenattributen muss ein numericIndexingSpec angegeben werden, damit dieser Operator unterstützt wird. |
Beispiele
Bei allen Abfragen wird die Methode users.list
verwendet, für die eine HTTP-Anfrage ähnlich der folgenden ist (Zeilenumbrüche zur besseren Lesbarkeit eingefügt):
GET https://admin.googleapis.com/admin/directory/v1/users?domain=DOMAIN_NAME&query=QUERY_PARAMETERS
Nutzer anhand des Namens suchen
Das Abfragefeld name
testet den verketteten Wert von givenName
und familyName
. Eine Abfrage für name='Jane'
gibt keine Ergebnisse für einen Nutzer mit givenName='Jane'
und familyName='Smith'
zurück.
name='Jane Smith'
Nach Nutzern suchen, deren givenName
ODER familyName
einen Wert enthält
name:'Jane'
Nach Nutzern mit einem E-Mail-Präfix suchen
email:admin*
Nach allen Super Admins suchen
isAdmin=true
Nach Nutzern suchen, deren orgTitles
„Manager“ enthält
orgTitle:Manager
Nach Nutzern mit einem gemeinsamen Verwaltungskonto in der Berichtskette suchen
manager='janesmith@example.com'
Nach Nutzern mit demselben direkten Verwaltungskonto 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
Benutzerdefinierte Nutzerattribute 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 Mitarbeitenden über Jobstufe 7 suchen
EmploymentData.jobLevel>=7
Nach allen Mitarbeitenden mit einer Jobebene von >= 5 und < 8 suchen
EmploymentData.jobLevel:[5,8]
Nach allen Mitarbeitern suchen, die für die Bestätigung in zwei Schritten registriert sind
isEnrolledIn2Sv=true
Nach allen Mitarbeitern suchen, für die die Bestätigung in zwei Schritten erzwungen wird
isEnforcedIn2Sv=true