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 se compose de trois parties:
- Champ
- Attribut utilisateur recherché. Exemple :
givenName
- Opérateur
- Test effectué sur les données pour fournir 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 rechercher dans plusieurs champs d'une requête, ajoutez chaque clause de recherche, séparée 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 la valeur avec celle de 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, y compris les alias |
givenName |
chaîne | = , : , :{PREFIX}* |
Prénom d'un utilisateur. |
familyName |
chaîne | = , : , :{PREFIX}* |
Nom de famille ou nom d'un utilisateur. |
isAdmin |
booléen | = |
Indique si un utilisateur dispose de droits de super-administrateur. |
isDelegatedAdmin |
booléen | = |
Indique si un utilisateur dispose de droits d'administrateur délégués. |
isSuspended |
booléen | = |
Indique si le compte d'un utilisateur est suspendu. |
isArchived |
booléen | = |
Indique si le compte d'un utilisateur est archivé. |
im |
chaîne | =, : |
ID du 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, directement ou dans la chaîne de gestion. |
managerId |
chaîne | = |
ID de l'administrateur d'un utilisateur, directement ou dans la chaîne de gestion. |
directManager |
chaîne | = |
Adresse e-mail du responsable direct d'un utilisateur. |
directManagerId |
chaîne | = |
ID de l'administrateur direct d'un utilisateur. |
address |
chaîne | : |
Correspond à tous les champs d'adresse. |
addressPoBox |
chaîne | =, : |
Boîte postale. |
addressExtended |
chaîne | =, : |
Adresse étendue, par exemple incluant une sous-région. |
addressStreet |
chaîne | =, : |
Adresse postale. |
addressLocality |
chaîne | =, : |
Ville de l'adresse. |
addressRegion |
chaîne | =, : |
Abréviation d'un État ou d'une province. |
addressPostalCode |
chaîne | =, : |
Code postal. |
addressCountry |
chaîne | =, : |
Un pays. |
orgName |
chaîne | =, : |
Nom d'une organisation. |
orgTitle |
chaîne | =, : |
Titre de l'utilisateur dans l'organisation. |
orgDepartment |
chaîne | =, : |
Service 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. Cette valeur correspond à toutes les chaînes d'unités organisationnelles sous la cible. Par exemple, 'orgUnitPath=/' renvoie tous les utilisateurs de l'organisation. Ce champ ne peut être utilisé que lorsque viewType=admin_view . |
isEnrolledIn2Sv |
booléen | = |
Indique si un utilisateur est inscrit ou non à la validation en deux étapes. |
isEnforcedIn2Sv |
booléen | = |
Indique si la validation en deux étapes est appliquée à 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 | fieldType du schéma équivalent | Remarques |
---|---|---|
chaîne | STRING , EMAIL , PHONE |
Placez la requête entre guillemets simples ' si elle contient des espaces. Échappez les guillemets simples dans les requêtes avec \' , par exemple 'Valentine\'s Day' . |
booléen | BOOL |
La valeur doit être true ou false . Compatible uniquement avec l'opérateur = . |
Nombre | INT64 , DOUBLE |
Un point doit être utilisé comme séparateur décimal, et aucun séparateur de milliers, par exemple 150430.25 . |
date | DATE |
Spécifié au format AAAA-MM-JJ, par exemple 2001-02-15 . |
Opérateurs
Opérateur | Types de valeurs acceptés | Remarques |
---|---|---|
= |
chaîne, booléen, nombre, date | Le champ et la valeur correspondent exactement. Par exemple, givenName=Jane correspond à tous les utilisateurs avec l'attribut givenName "Jane" , mais pas à "Jane Ann" . Compatible avec la plupart des champs de chaîne (voir ci-dessus). |
: |
chaîne | Le champ contient les mots entiers de 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' correspond aux valeurs "Mary Ann Evans" et "Sarah Mary Ann" , mais pas à "Ann Mary" . Compatible avec la plupart des champs de chaîne (voir ci-dessus). |
:{PREFIX}* |
chaîne | Le champ commence par la valeur. Par exemple, une requête avec givenName:Jane* établit une correspondance avec les utilisateurs dont la valeur givenName est "Jane" , "Jane Ann" et "Janet" , mais pas "Sarah Jane" . Compatible uniquement avec un nombre limité de champs de chaîne (voir ci-dessus). Non disponible pour les attributs personnalisés. |
:[{MIN},{MAX}] |
numéro, date | Le champ se situe dans une plage. Pour qu'il y ait correspondance, la valeur du champ doit être supérieure ou égale à {MIN} et inférieure à {MAX} . Les attributs de nombre personnalisés doivent spécifier un numericIndexingSpec pour être compatibles avec cet opérateur. |
> |
numéro, date | Le champ est supérieur à la valeur. Les attributs de nombre personnalisés doivent spécifier un numericIndexingSpec pour être compatibles avec cet opérateur. |
>= |
numéro, date | La valeur du champ est supérieure ou égale à la valeur. Les attributs de nombre personnalisés doivent spécifier un numericIndexingSpec pour être compatibles avec cet opérateur. |
< |
numéro, date | La valeur du champ est inférieure à la valeur. Les attributs de nombre personnalisés doivent spécifier un numericIndexingSpec pour être compatibles avec cet opérateur. |
<= |
numéro, date | Le champ est inférieur ou égal à la valeur. Les attributs de nombre personnalisés doivent spécifier un numericIndexingSpec pour être compatibles avec cet opérateur. |
Exemples
Toutes les requêtes utilisent la méthode users.list
, qui comporte une requête HTTP semblable à la suivante (les sauts de ligne sont inclus pour plus de lisibilité):
GET https://admin.googleapis.com/admin/directory/v1/users?domain=DOMAIN_NAME&query=QUERY_PARAMETERS
Rechercher un utilisateur par nom
Le champ de requête name
teste la valeur concaténée de givenName
et familyName
. Une requête pour name='Jane'
ne renvoie aucun résultat pour un utilisateur avec givenName='Jane'
et familyName='Smith'
.
name='Jane Smith'
Rechercher des utilisateurs dont un givenName
OU un familyName
contient une valeur
name:'Jane'
Rechercher des utilisateurs correspondant à un préfixe d'adresse e-mail
email:admin*
Rechercher tous les super-administrateurs
isAdmin=true
Rechercher des utilisateurs dont orgTitles
contient "Manager"
orgTitle:Manager
Rechercher des utilisateurs ayant un responsable commun dans leur chaîne de reporting
manager='janesmith@example.com'
Rechercher des utilisateurs ayant le même responsable 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 emplacement spécifique
EmploymentData.location='Atlanta'
Rechercher tous les employés de niveau 7 ou supérieur
EmploymentData.jobLevel>=7
Rechercher tous les employés dont le niveau d'emploi est compris entre 5 et 8
EmploymentData.jobLevel:[5,8]
Rechercher tous les employés qui ont activé la validation en deux étapes
isEnrolledIn2Sv=true
Rechercher tous les employés pour lesquels la validation en deux étapes est obligatoire
isEnforcedIn2Sv=true