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
, der eine Suchanfrage ist, die eine oder mehrere Suchklauseln kombiniert. Jede Suchklausel besteht aus drei Teilen:
- Feld
- Nutzerattribut, nach dem gesucht wird. Beispiel:
givenName
. - Betreiber
- Test für die Daten, um eine Übereinstimmung zu erzielen. Der Operator
:
prüft beispielsweise, ob ein Textattribut einen Wert enthält. - Wert
- Der Inhalt des Attributs, das getestet wird. Beispiel:
Jane
.
Wenn Sie in einer Abfrage mehrere Felder durchsuchen möchten, fügen Sie die einzelnen Klauseln durch ein Leerzeichen getrennt ein. Der Vorgang ist ein impliziter AND
.
Felder
Feld | 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 Vorname eines Nutzers. |
familyName |
String | = , : , :{PREFIX}* |
Die Familie oder der Nachname eines Nutzers. |
isAdmin |
boolean | = |
Gibt an, ob ein Nutzer Poweruser-Berechtigungen hat. |
isDelegatedAdmin |
boolean | = |
Gibt an, ob ein Nutzer delegierte Administratorberechtigungen hat. |
isSuspended |
boolean | = |
Gibt an, 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 Managers eines Nutzers, entweder direkt oder in der Verwaltungskette. |
managerId |
String | = |
Die ID des Managers eines Nutzers, entweder direkt oder in der Verwaltungskette. |
directManager |
String | = |
Die E-Mail-Adresse des direkten Vorgesetzten eines Nutzers. |
directManagerId |
String | = |
Die ID des direkten Vorgesetzten eines Nutzers. |
address |
String | : |
Stimmt mit allen Adressfeldern überein. |
addressPoBox |
String | =, : |
Ein Postfach |
addressExtended |
String | =, : |
Eine erweiterte Adresse, z. B. eine Subregion. |
addressStreet |
String | =, : |
Eine Adresse. |
addressLocality |
String | =, : |
Ein Ort. |
addressRegion |
String | =, : |
Eine gekürzte Provinz oder ein abgekürzter Bundesstaat. |
addressPostalCode |
String | =, : |
Eine Postleitzahl. |
addressCountry |
String | =, : |
Ein Land. |
orgName |
String | =, : |
Der Name einer Organisation. |
orgTitle |
String | =, : |
Der Titel 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. Das stimmt mit allen Ketten der Organisationseinheiten unter dem Ziel überein. 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 den Feldnamen verwiesen wird. Die Eigenschaft indexed des Felds muss auf true festgelegt sein. |
Werttypen
Werttyp | Äquivalentes Schema fieldType | Hinweise |
---|---|---|
String | STRING , EMAIL , PHONE |
Schließen Sie einfache Anführungszeichen ' ein, wenn die Abfrage Leerzeichen enthält. 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 |
Sie müssen einen Punkt als Dezimaltrennzeichen und nicht als Tausendertrennzeichen verwenden, 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, boolescher Wert, Zahl, Datum | Das Feld und der Wert stimmen genau überein. Beispiel: givenName=Jane gleicht alle Nutzer mit dem givenName -Attribut "Jane" , aber nicht mit "Jane Ann" ab. Wird für die meisten Stringfelder unterstützt (siehe oben). |
: |
String | Das Feld enthält die vollständigen Wörter innerhalb des Werts in der richtigen Reihenfolge. Beispiel: Eine Abfrage mit givenName:Jane gleicht Nutzer mit den givenName -Werten "Jane" und "Jane Ann" ab, aber nicht mit "Janet" . Eine aus mehreren Wörtern bestehende Abfrage für 'givenName:Mary Ann' würde mit den Werten von "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. Beispiel: Eine Abfrage mit givenName:Jane* gleicht Nutzer mit den givenName -Werten "Jane" , "Jane Ann" und "Janet" , aber nicht mit "Sarah Jane" ab. Wird nur für eine begrenzte Anzahl von Stringfeldern unterstützt (siehe oben). Wird für benutzerdefinierte Attribute nicht unterstützt. |
:[{MIN},{MAX}] |
Zahl, Datum | Das Feld liegt innerhalb eines Bereichs. Der Wert muss 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. |
> |
Zahl, Datum | Das Feld ist größer als der Wert. Für benutzerdefinierte Zahlenattribute muss ein numericIndexingSpec angegeben werden, damit dieser Operator unterstützt wird. |
>= |
Zahl, Datum | Das Feld ist größer oder gleich dem Wert. Für benutzerdefinierte Zahlenattribute muss ein numericIndexingSpec angegeben werden, damit dieser Operator unterstützt wird. |
< |
Zahl, Datum | Das Feld ist kleiner als der Wert. Für benutzerdefinierte Zahlenattribute muss ein numericIndexingSpec angegeben werden, damit dieser Operator unterstützt wird. |
<= |
Zahl, Datum | Das Feld ist kleiner oder gleich dem Wert. Für benutzerdefinierte Zahlenattribute muss ein numericIndexingSpec angegeben werden, damit dieser Operator unterstützt wird. |
Beispiele
Alle Abfragen verwenden die Methode users.list
, die eine HTTP-Anfrage ähnlich der folgenden enthält (Zeilenumbrüche sind zur besseren Lesbarkeit enthalten):
GET https://admin.googleapis.com/admin/directory/v1/users?domain=DOMAIN_NAME&query=QUERY_PARAMETERS
Nutzer anhand des Namens suchen
Das Abfragefeld name
prüft 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'
Nutzer suchen, deren Wert givenName
ODER familyName
einen Wert enthält
name:'Jane'
Nach Nutzern suchen, die mit einem E-Mail-Präfix übereinstimmen
email:admin*
Nach allen Super Admins suchen
isAdmin=true
Nutzer suchen, die orgTitles
enthalten und „Manager“ enthalten
orgTitle:Manager
Nutzer mit einem gemeinsamen Verwaltungskonto in der Berichtskette suchen
manager='janesmith@example.com'
Nutzer mit demselben Verwaltungskonto suchen
directManager='bobjones@example.com'
Nutzer in einem bestimmten Land suchen
addressCountry='Sweden'
Nutzer in einer bestimmten Organisation suchen
orgName='Human Resources'
Administratoren 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'
Alle Mitarbeiter über Stufe 7 suchen
EmploymentData.jobLevel>=7
Suche nach allen Mitarbeiter*innen mit einem Arbeitsverhältnis von >= 5 oder < 8
EmploymentData.jobLevel:[5,8]
Nach allen Mitarbeitern suchen, die für die Bestätigung in zwei Schritten registriert sind
isEnrolledIn2Sv=true
Nach allen Mitarbeitern mit erzwungener Bestätigung in zwei Schritten suchen
isEnforcedIn2Sv=true