Rechercher des utilisateurs

Vous pouvez rechercher des utilisateurs correspondant à certains attributs à l'aide de la méthode users.list() de l'API Directory. Cette méthode accepte le paramètre query, qui est une requête de recherche combinant une ou plusieurs clauses de recherche. Chaque clause de recherche comprend trois parties:

Champ
Attribut utilisateur recherché. Exemple : givenName.
Opérateur
Test effectué sur les données pour établir une correspondance. Par exemple, l'opérateur : vérifie si un attribut de texte contient une valeur.
Valeur
Contenu de l'attribut testé. Exemple : Jane.

Pour effectuer une recherche dans plusieurs champs d'une requête, ajoutez chaque clause de recherche en les séparant par un espace. L'opération est un AND implicite.

Champs

Champ Type de valeur Opérateurs Description
Aucune option spécifiée chaîne Comparez avec la valeur indiquée dans givenName, familyName ou email.
name chaîne =, : Valeur concaténée de givenName et familyName.
email chaîne =, :, :{PREFIX}* Adresses e-mail de l'utilisateur, alias compris
givenName chaîne =, :, :{PREFIX}* Prénom ou prénom d'un utilisateur.
familyName chaîne =, :, :{PREFIX}* Nom ou famille d'un utilisateur
isAdmin boolean = Indique si un utilisateur dispose de droits de super-administrateur.
isDelegatedAdmin boolean = Indique si un utilisateur a délégué des droits d'administrateur.
isSuspended boolean = Indique si le compte d'un utilisateur est suspendu.
isArchived boolean = Indique si le compte d'un utilisateur est archivé.
im chaîne =, : ID de réseau de messagerie instantanée.
externalId chaîne =, : Valeur de l'ID externe.
manager chaîne = Adresse e-mail du responsable d'un utilisateur, soit directement, soit à un niveau supérieur de la chaîne de gestion.
managerId chaîne = Identifiant du responsable d'un utilisateur, soit directement, soit à un niveau supérieur de la chaîne de gestion.
directManager chaîne = Adresse e-mail du responsable direct d'un utilisateur.
directManagerId chaîne = Identifiant du responsable direct d'un utilisateur.
address chaîne : Correspond à tous les champs d'adresse.
addressPoBox chaîne =, : Boîte postale.
addressExtended chaîne =, : Adresse étendue, telle qu'une adresse incluant une sous-région.
addressStreet chaîne =, : Adresse postale.
addressLocality chaîne =, : Ville correspondant à l'adresse.
addressRegion chaîne =, : Une province ou un État abrégé.
addressPostalCode chaîne =, : Code postal.
addressCountry chaîne =, : Un pays.
orgName chaîne =, : Nom d'une organisation.
orgTitle chaîne =, : Fonction d'un utilisateur au sein de l'organisation.
orgDepartment chaîne =, : Un service au sein de l’organisation.
orgDescription chaîne =, : Description d'une organisation.
orgCostCenter chaîne =, : Centre de coûts d'une organisation.
phone chaîne = Numéro de téléphone de l'utilisateur
orgUnitPath chaîne = Chemin d'accès complet d'une unité organisationnelle. Cela correspond à toutes les chaînes d'unités organisationnelles de la cible. Par exemple, 'orgUnitPath=/' renvoie tous les utilisateurs de l'organisation. Ce champ ne peut être utilisé que lorsque viewType=admin_view.
isEnrolledIn2Sv boolean = Indique si un utilisateur est inscrit à la validation en deux étapes.
isEnforcedIn2Sv boolean = Indique si la validation en deux étapes est appliquée pour l'utilisateur.
schemaName.fieldName ? ? Attribut utilisateur personnalisé, référencé par son schéma et son nom de champ. La propriété indexed du champ doit être définie sur true.

Types de valeurs

Type de valeur Schéma équivalent fieldType Remarques
chaîne STRING, EMAIL et PHONE Entourez-le de guillemets simples ' si la requête contient des espaces blancs. Échappez les guillemets simples dans les requêtes avec \' (par exemple, 'Valentine\'s Day').
boolean BOOL Doit avoir la valeur true ou false. Uniquement compatible avec l'opérateur =.
Nombre INT64, DOUBLE Vous devez utiliser un point comme séparateur décimal et aucun séparateur de milliers (par exemple, 150430.25).
date DATE Spécifiée au format AAAA-MM-JJ, par exemple 2001-02-15.

Opérateurs

Opérateur Types de valeurs acceptés Remarques
= string, boolean, number, date Le champ et la valeur correspondent exactement. Par exemple, givenName=Jane correspond à tous les utilisateurs ayant l'attribut givenName "Jane", mais pas "Jane Ann". Compatible avec la plupart des champs de type chaîne (voir ci-dessus).
: chaîne Le champ contient tous les mots entiers dans la valeur, dans l'ordre. Par exemple, une requête avec givenName:Jane correspond aux utilisateurs dont les valeurs givenName sont "Jane" et "Jane Ann", mais pas "Janet". Une requête de plusieurs mots pour 'givenName:Mary Ann' établirait une correspondance avec les valeurs "Mary Ann Evans" et "Sarah Mary Ann", mais pas "Ann Mary". Compatible avec la plupart des champs de type chaîne (voir ci-dessus).
:{PREFIX}* chaîne Le champ commence par la valeur. Par exemple, une requête avec givenName:Jane* correspond aux utilisateurs dont les valeurs givenName sont "Jane", "Jane Ann" et "Janet", mais pas "Sarah Jane". Uniquement compatible avec un nombre limité de champs de type chaîne (voir ci-dessus). Non compatible avec les attributs personnalisés.
:[{MIN},{MAX}] nombre, date Le champ se situe dans une plage. Pour correspondre, la valeur du champ doit être supérieure ou égale à {MIN} et inférieure à {MAX}. Les attributs de nombres personnalisés doivent spécifier un numericIndexingSpec pour être compatible avec cet opérateur.
> nombre, date La valeur du champ est supérieure à la valeur. Les attributs de nombres personnalisés doivent spécifier un numericIndexingSpec pour être compatible avec cet opérateur.
>= nombre, date La valeur du champ est supérieure ou égale à la valeur. Les attributs de nombres personnalisés doivent spécifier un numericIndexingSpec pour être compatible avec cet opérateur.
< nombre, date La valeur du champ est inférieure à la valeur. Les attributs de nombres personnalisés doivent spécifier un numericIndexingSpec pour être compatible avec cet opérateur.
<= nombre, date La valeur du champ est inférieure ou égale à la valeur. Les attributs de nombres personnalisés doivent spécifier un numericIndexingSpec pour être compatible avec cet opérateur.

Exemples

Toutes les requêtes utilisent la méthode users.list, qui génère une requête HTTP semblable à la suivante (des sauts de ligne sont inclus pour faciliter la lecture):

GET https://admin.googleapis.com/admin/directory/v1/users?domain=DOMAIN_NAME&query=QUERY_PARAMETERS

Rechercher un utilisateur par son nom

Le champ de requête name teste la valeur concaténée de givenName et de familyName. Une requête portant sur name='Jane' ne renvoie aucun résultat pour un utilisateur avec givenName='Jane' et familyName='Smith'.

name='Jane Smith'

Rechercher des utilisateurs avec un givenName OU un familyName contenant une valeur

name:'Jane'

Rechercher des utilisateurs correspondant à un préfixe d'e-mail

email:admin*

Rechercher tous les super-administrateurs

isAdmin=true

Rechercher des utilisateurs dont orgTitles contient "Administrateur"

orgTitle:Manager

Rechercher des utilisateurs ayant un responsable commun dans leur chaîne hiérarchique

manager='janesmith@example.com'

Rechercher des utilisateurs ayant le même administrateur direct

directManager='bobjones@example.com'

Rechercher des utilisateurs dans un pays donné

addressCountry='Sweden'

Rechercher des utilisateurs dans une organisation spécifique

orgName='Human Resources'

Rechercher des administrateurs dans une organisation spécifique

orgName=Engineering orgTitle:Manager

Rechercher des attributs utilisateur personnalisés

Rechercher tous les employés qui travaillent sur un projet spécifique

EmploymentData.projects:'GeneGnomes'

Rechercher tous les employés d'un lieu spécifique

EmploymentData.location='Atlanta'

Rechercher tous les employés au-dessus du niveau 7

EmploymentData.jobLevel>=7

Rechercher tous les employés dont les niveaux d'emploi sont ≥ 5 et < 8

EmploymentData.jobLevel:[5,8]

Recherchez tous les employés inscrits à la validation en deux étapes.

isEnrolledIn2Sv=true

Rechercher tous les employés ayant appliqué la validation en deux étapes

isEnforcedIn2Sv=true