Nach Nutzern suchen

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