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