Puoi cercare gli utenti che corrispondono a determinati attributi con il metodo users.list()
dell'API Directory. Questo metodo accetta il parametro query
, che è una query di ricerca che combina una o più clausole di ricerca. Ogni clausola di ricerca è composta da 3 parti:
- Campo
- Attributo utente in cui viene eseguita la ricerca. Ad esempio,
givenName
. - Operatore
- Test eseguito sui dati per fornire una corrispondenza. Ad esempio, l'operatore
:
verifica se un attributo di testo contiene un valore. - Valore
- Il contenuto dell'attributo testato. Ad esempio,
Jane
.
Per cercare in più campi in una query, aggiungi ogni clausola di ricerca separata da uno spazio. L'operazione è un AND
implicito.
Campi
Campo | Tipo di valore | Operatori | Descrizione |
---|---|---|---|
Nessun valore specificato | stringa | Confronta con il valore di givenName , familyName o email . |
|
name |
stringa | =, : |
Il valore concatenato di givenName e familyName . |
email |
stringa | = , : e :{PREFIX}* |
Gli indirizzi email dell'utente, inclusi gli alias. |
givenName |
stringa | = , : e :{PREFIX}* |
Il nome o il nome di un utente. |
familyName |
stringa | = , : e :{PREFIX}* |
La famiglia o il cognome di un utente. |
isAdmin |
booleano | = |
Indica se un utente dispone dei privilegi di super amministratore. |
isDelegatedAdmin |
booleano | = |
Indica se un utente ha privilegi di amministratore delegato. |
isSuspended |
booleano | = |
Indica se l'account di un utente è sospeso. |
isArchived |
booleano | = |
Indica se l'account di un utente è archiviato. |
im |
stringa | =, : |
ID di rete IM. |
externalId |
stringa | =, : |
Valore ID esterno. |
manager |
stringa | = |
L'indirizzo email del gestore di un utente, direttamente o al livello superiore della catena di gestione. |
managerId |
stringa | = |
L'ID del gestore di un utente, direttamente o a livello superiore della catena di gestione. |
directManager |
stringa | = |
L'indirizzo email del gestore diretto di un utente. |
directManagerId |
stringa | = |
L'ID del gestore diretto di un utente. |
address |
stringa | : |
Corrisponde a tutti i campi dell'indirizzo. |
addressPoBox |
stringa | =, : |
Una casella postale. |
addressExtended |
stringa | =, : |
Un indirizzo esteso, ad esempio un indirizzo che include una regione secondaria. |
addressStreet |
stringa | =, : |
Indirizzo e numero civico. |
addressLocality |
stringa | =, : |
La città dell'indirizzo. |
addressRegion |
stringa | =, : |
Una provincia o uno stato abbreviato. |
addressPostalCode |
stringa | =, : |
Un codice postale. |
addressCountry |
stringa | =, : |
Un paese. |
orgName |
stringa | =, : |
Il nome di un'organizzazione. |
orgTitle |
stringa | =, : |
Il titolo di un utente all'interno dell'organizzazione. |
orgDepartment |
stringa | =, : |
Un reparto all'interno dell'organizzazione. |
orgDescription |
stringa | =, : |
La descrizione di un'organizzazione. |
orgCostCenter |
stringa | =, : |
Il centro di costo di un'organizzazione. |
phone |
stringa | = |
Il numero di telefono di un utente. |
orgUnitPath |
stringa | = |
Il percorso completo di un'unità organizzativa. Questo valore corrisponde a tutte le catene di unità organizzative sotto la destinazione. Ad esempio, 'orgUnitPath=/' restituisce tutti gli utenti dell'organizzazione. Questo campo può essere utilizzato solo quando viewType=admin_view . |
isEnrolledIn2Sv |
booleano | = |
Indica se un utente è registrato per la verifica in due passaggi. |
isEnforcedIn2Sv |
booleano | = |
Indica se la verifica in due passaggi è applicata all'utente. |
schemaName.fieldName |
? | ? | Un attributo utente personalizzato, indicato dal nome dello schema e del campo. La proprietà indexed del campo deve essere impostata su true . |
Tipi di valore
Tipo di valore | fieldType dello schema equivalente | Note |
---|---|---|
stringa | STRING , EMAIL e PHONE |
Racchiudi tra virgolette singole ' se la query contiene spazi vuoti. Esegui l'escape delle virgolette singole nelle query con \' , ad esempio 'Valentine\'s Day' . |
booleano | BOOL |
Deve avere un valore di true o false . Supporta solo l'operatore = . |
numero | INT64 , DOUBLE |
Devi utilizzare un punto come separatore decimale e nessun separatore delle migliaia, ad esempio 150430.25 . |
date | DATE |
Specificato nel formato AAAA-MM-GG, ad esempio 2001-02-15 . |
Operatori
Operatore | Tipi di valori supportati | Note |
---|---|---|
= |
stringa, booleano, numero, data | Il campo e il valore corrispondono esattamente. Ad esempio, givenName=Jane corrisponde a tutti gli utenti con l'attributo givenName "Jane" , ma non "Jane Ann" . Supportato sulla maggior parte dei campi stringa (vedi sopra). |
: |
stringa | Il campo contiene in ordine tutte le parole all'interno del valore. Ad esempio, una query con givenName:Jane corrisponde a utenti con valori givenName di "Jane" e "Jane Ann" , ma non di "Janet" . Una query con più parole per 'givenName:Mary Ann' troverà corrispondenze con i valori "Mary Ann Evans" e "Sarah Mary Ann" , ma non con "Ann Mary" . Supportato sulla maggior parte dei campi stringa (vedi sopra). |
:{PREFIX}* |
stringa | Il campo inizia con il valore. Ad esempio, una query con givenName:Jane* corrisponde a utenti con valori givenName di "Jane" , "Jane Ann" e "Janet" ma non di "Sarah Jane" . Funzionalità supportata solo su un insieme limitato di campi stringa (vedi sopra). Non supportato per gli attributi personalizzati. |
:[{MIN},{MAX}] |
numero, data | Il campo è compreso in un intervallo. Per creare una corrispondenza, il valore del campo deve essere maggiore o uguale a {MIN} e minore di {MAX} . Per supportare questo operatore, gli attributi numerici personalizzati devono specificare un numericIndexingSpec . |
> |
numero, data | Il campo è maggiore del valore. Per supportare questo operatore, gli attributi numerici personalizzati devono specificare un numericIndexingSpec . |
>= |
numero, data | Il campo è maggiore o uguale al valore. Per supportare questo operatore, gli attributi numerici personalizzati devono specificare un numericIndexingSpec . |
< |
numero, data | Il campo è inferiore al valore. Per supportare questo operatore, gli attributi numerici personalizzati devono specificare un numericIndexingSpec . |
<= |
numero, data | Il campo è inferiore o uguale al valore. Per supportare questo operatore, gli attributi numerici personalizzati devono specificare un numericIndexingSpec . |
Esempi
Per tutte le query viene utilizzato il metodo users.list
, che ha una richiesta HTTP simile alla seguente (interruzioni di riga incluse per la leggibilità):
GET https://admin.googleapis.com/admin/directory/v1/users?domain=DOMAIN_NAME&query=QUERY_PARAMETERS
Cercare un utente per nome
Il campo di query name
verifica il valore concatenato di givenName
e familyName
. Una query per name='Jane'
non restituisce risultati per un utente con givenName='Jane'
e familyName='Smith'
.
name='Jane Smith'
Cerca utenti con un valore givenName
O familyName
contenente un valore
name:'Jane'
Cercare gli utenti che corrispondono a un prefisso email
email:admin*
Cerca tutti i super amministratori
isAdmin=true
Cerca gli utenti con orgTitles
che contengono "Gestore"
orgTitle:Manager
Cercare utenti con un gestore comune nella catena gerarchica
manager='janesmith@example.com'
Cercare utenti con lo stesso amministratore diretto
directManager='bobjones@example.com'
Cercare utenti in un determinato paese
addressCountry='Sweden'
Cercare utenti in un'organizzazione specifica
orgName='Human Resources'
Cercare gestori in un'organizzazione specifica
orgName=Engineering orgTitle:Manager
Attributi utente personalizzati per la rete di ricerca
Cerca tutti i dipendenti che lavorano a un progetto specifico
EmploymentData.projects:'GeneGnomes'
Cercare tutti i dipendenti in una sede specifica
EmploymentData.location='Atlanta'
Cerca tutti i dipendenti di livello superiore al livello 7
EmploymentData.jobLevel>=7
Cerca tutti i dipendenti con livelli di impiego >= 5 e < 8
EmploymentData.jobLevel:[5,8]
Cerca tutti i dipendenti registrati per la verifica in due passaggi
isEnrolledIn2Sv=true
Cerca tutti i dipendenti a cui è applicata la verifica in due passaggi
isEnforcedIn2Sv=true