Mit der Methode users.list()
der Directory API können Sie nach Nutzern suchen, die bestimmten Attributen entsprechen. Für diese Methode ist der Parameter query
zulässig. Dabei handelt es sich um eine Suchanfrage, die eine oder mehrere 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 ermitteln. Mit dem Operator
:
wird beispielsweise geprüft, ob ein Textattribut einen Wert enthält. - Wert
- Der Inhalt des getesteten Attributs. Beispiel:
Jane
.
Wenn Sie in mehreren Feldern in einer Abfrage suchen möchten, fügen Sie die einzelnen Suchklauseln durch Leerzeichen getrennt hinzu. Der Vorgang ist eine implizite AND
.
Felder
Feld | Werttyp | Operatoren | Beschreibung |
---|---|---|---|
Keine Angabe | String | Vergleich 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 eines Nutzers. |
familyName |
String | = , : , :{PREFIX}* |
Der Nachname eines Nutzers. |
isAdmin |
boolean | = |
Gibt an, ob ein Nutzer Super Admin-Berechtigungen hat. |
isDelegatedAdmin |
boolean | = |
Gibt an, ob ein Nutzer delegierte Administratorberechtigungen hat. |
isSuspended |
boolean | = |
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 Vorgesetzten eines Nutzers, entweder direkt oder über die Verwaltungshierarchie. |
managerId |
String | = |
Die ID des Vorgesetzten eines Nutzers, entweder direkt oder über die Verwaltungshierarchie. |
directManager |
String | = |
Die E-Mail-Adresse des direkten Vorgesetzten eines Nutzers. |
directManagerId |
String | = |
Die ID des direkten Verwaltungskontos eines Nutzers. |
address |
String | : |
Übereinstimmung mit allen Adressfeldern. |
addressPoBox |
String | =, : |
Ein Postfach. |
addressExtended |
String | =, : |
Eine erweiterte Adresse, z. B. eine Adresse mit einer Unterregion. |
addressStreet |
String | =, : |
Eine Adresse. |
addressLocality |
String | =, : |
Eine Stadt der Adresse. |
addressRegion |
String | =, : |
Eine abgekürzte Provinz oder ein abgekürzter Bundesstaat. |
addressPostalCode |
String | =, : |
Eine Postleitzahl. |
addressCountry |
String | =, : |
Ein Land. |
orgName |
String | =, : |
Name einer Organisation. |
orgTitle |
String | =, : |
Die Position eines Nutzers in der Organisation. |
orgDepartment |
String | =, : |
Eine Abteilung innerhalb der Organisation. |
orgDescription |
String | =, : |
Eine Beschreibung der Organisation. |
orgCostCenter |
String | =, : |
Die Kostenstelle einer Organisation. |
phone |
String | = |
Die Telefonnummer eines Nutzers. |
orgUnitPath |
String | = |
Der vollständige Pfad einer Organisationseinheit. Dies entspricht allen Organisationseinheiten 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 | = |
Ob ein Nutzer für die Bestätigung in zwei Schritten registriert ist. |
isEnforcedIn2Sv |
boolean | = |
Ob die Bestätigung in zwei Schritten für den Nutzer erzwungen wird |
schemaName.fieldName |
? | ? | Ein benutzerdefiniertes Nutzerattribut, auf das über sein Schema und seinen Feldnamen verwiesen wird. Die Eigenschaft indexed des Felds muss auf true festgelegt sein. |
Werttypen
Werttyp | Entspricht dem Schema-fieldType | Hinweise |
---|---|---|
String | STRING , EMAIL , PHONE |
Setzen Sie die Abfrage in einfache Anführungszeichen ' , wenn sie Leerzeichen enthält. Setzen Sie in Abfragen einfache Anführungszeichen 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, kein Tausendertrennzeichen, z. B. 150430.25 . |
Datum | DATE |
Muss im Format JJJJ-MM-TT angegeben werden, 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 beispielsweise mit allen Nutzern mit dem givenName -Attribut "Jane" überein, aber nicht mit "Jane Ann" . Wird von den meisten Stringfeldern unterstützt (siehe oben). |
: |
String | Das Feld enthält die ganzen Wörter im Wert in der richtigen Reihenfolge. In einer Abfrage mit givenName:Jane werden beispielsweise Nutzer mit den givenName -Werten "Jane" und "Jane Ann" , aber nicht "Janet" ermittelt. Eine mehrteilige Abfrage nach 'givenName:Mary Ann' würde mit den Werten "Mary Ann Evans" und "Sarah Mary Ann" , aber nicht mit "Ann Mary" übereinstimmen. Wird von den meisten Stringfeldern unterstützt (siehe oben). |
:{PREFIX}* |
String | Das Feld beginnt mit dem Wert. Eine Abfrage mit givenName:Jane* führt beispielsweise zu einer Übereinstimmung mit Nutzern mit den givenName -Werten "Jane" , "Jane Ann" und "Janet" , aber nicht "Sarah Jane" . Nur für eine begrenzte Anzahl von Stringfeldern unterstützt (siehe oben). Nicht für benutzerdefinierte Attribute unterstützt. |
:[{MIN},{MAX}] |
number, date | Der Wert des Felds liegt innerhalb eines Bereichs. Der Wert des Felds 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. |
> |
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 | Der Wert des Felds 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 im Feld ist kleiner als der Wert. Für benutzerdefinierte Zahlenattribute muss ein numericIndexingSpec angegeben werden, damit dieser Operator unterstützt wird. |
<= |
number, date | Der Wert des Felds ist kleiner oder gleich dem Wert. Für benutzerdefinierte Zahlenattribute muss ein numericIndexingSpec angegeben werden, damit dieser Operator unterstützt wird. |
Beispiele
Für alle Abfragen wird die Methode users.list
verwendet. Die zugehörige HTTP-Anfrage sieht in etwa so aus (Zeilenumbrüche zur besseren Lesbarkeit):
GET https://admin.googleapis.com/admin/directory/v1/users?domain=DOMAIN_NAME&query=QUERY_PARAMETERS
Nach einem Nutzernamen suchen
Im Abfragefeld name
wird der verkettete Wert von givenName
und familyName
geprüft. Eine Suchanfrage nach 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 mit einem bestimmten E-Mail-Präfix suchen
email:admin*
Nach allen Super Admins suchen
isAdmin=true
Nach Nutzern mit einer orgTitles
suchen, die „Manager“ enthält
orgTitle:Manager
Nach Nutzern mit einem gemeinsamen Vorgesetzten in der Berichtsabfolge 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 Führungskräften 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 der Jobebene 7 suchen
EmploymentData.jobLevel>=7
Nach allen Mitarbeitern mit einer Stellenebene von mindestens 5 und weniger als 8 suchen
EmploymentData.jobLevel:[5,8]
Nach allen Mitarbeitern suchen, die die Bestätigung in zwei Schritten aktiviert haben
isEnrolledIn2Sv=true
Nach allen Mitarbeitern suchen, für die die Bestätigung in zwei Schritten erzwungen wird
isEnforcedIn2Sv=true