Nach Nutzern suchen

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 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