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 oggetto della 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
- I contenuti dell'attributo che viene testato. Ad esempio,
Jane
.
Per cercare più campi di una query, aggiungi ogni clausola di ricerca, separate da uno spazio. L'operazione è di tipo 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}* |
Il cognome o la famiglia di un utente. |
isAdmin |
boolean | = |
Indica se un utente dispone dei privilegi di super amministratore. |
isDelegatedAdmin |
boolean | = |
Indica se un utente dispone di privilegi amministrativi delegati. |
isSuspended |
boolean | = |
Indica se l'account di un utente è sospeso. |
isArchived |
boolean | = |
Indica se l'account di un utente è archiviato. |
im |
stringa | =, : |
ID rete IM. |
externalId |
stringa | =, : |
Valore ID esterno. |
manager |
stringa | = |
L'indirizzo email del gestore di un utente direttamente o a livello dell'intera catena di gestione. |
managerId |
stringa | = |
L'ID del gestore di un utente direttamente o a livello dell'intera 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 uno che includa una sottoregione. |
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. Corrisponde a tutte le catene di unità organizzative al di sotto della destinazione. Ad esempio, 'orgUnitPath=/' restituisce tutti gli utenti dell'organizzazione. Questo campo può essere utilizzato solo quando viewType=admin_view . |
isEnrolledIn2Sv |
boolean | = |
Indica se un utente è registrato per la verifica in due passaggi. |
isEnforcedIn2Sv |
boolean | = |
Indica se all'utente viene applicata la verifica in due passaggi. |
schemaName.fieldName |
? | ? | Un attributo utente personalizzato, a cui fanno riferimento lo schema e il nome del campo. La proprietà indexed del campo deve essere impostata su true . |
Tipi di valore
Tipo di valore | fieldType schema equivalente | Note |
---|---|---|
stringa | STRING , EMAIL e PHONE |
Racchiudi tra virgolette singole ' se la query contiene spazi vuoti. Utilizza l'escape delle virgolette singole nelle query con \' , ad esempio 'Valentine\'s Day' . |
boolean | BOOL |
Deve avere un valore di true o false . Supporta solo l'operatore = . |
numero | INT64 , DOUBLE |
Devi utilizzare un punto come separatore decimale e non come 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 |
---|---|---|
= |
string, boolean, number, date | Il campo e il valore corrispondono esattamente. Ad esempio, givenName=Jane corrisponde a tutti gli utenti con l'attributo givenName "Jane" , ma non con "Jane Ann" . Supportato dalla 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 pari a "Jane" e "Jane Ann" , ma non a "Janet" . Una query con più parole per 'givenName:Mary Ann' corrisponderà ai valori di "Mary Ann Evans" e "Sarah Mary Ann" , ma non a "Ann Mary" . Supportato dalla 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 pari a "Jane" , "Jane Ann" e "Janet" , ma non a "Sarah Jane" . Funzionalità supportata solo su un insieme limitato di campi stringa (vedi sopra). Non supportati 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} . Gli attributi dei numeri personalizzati devono specificare un numericIndexingSpec per supportare questo operatore. |
> |
numero, data | Il campo è maggiore del valore. Gli attributi dei numeri personalizzati devono specificare un numericIndexingSpec per supportare questo operatore. |
>= |
numero, data | Il campo è maggiore o uguale al valore. Gli attributi dei numeri personalizzati devono specificare un numericIndexingSpec per supportare questo operatore. |
< |
numero, data | Il campo è inferiore al valore. Gli attributi dei numeri personalizzati devono specificare un numericIndexingSpec per supportare questo operatore. |
<= |
numero, data | Il campo è inferiore o uguale al valore. Gli attributi dei numeri personalizzati devono specificare un numericIndexingSpec per supportare questo operatore. |
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
esegue il test sul valore concatenato di givenName
e familyName
. Una query per name='Jane'
non restituisce alcun risultato per un utente con
givenName='Jane'
e familyName='Smith'
.
name='Jane Smith'
Cerca gli utenti con un valore givenName
O familyName
che contenga un valore
name:'Jane'
Cercare utenti corrispondenti a un prefisso email
email:admin*
Cerca tutti i super amministratori
isAdmin=true
Cerca utenti con orgTitles
contenenti "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 di un'organizzazione specifica
orgName='Human Resources'
Cercare gestori in una specifica organizzazione
orgName=Engineering orgTitle:Manager
Cerca attributi utente personalizzati
Cerca tutti i dipendenti che lavorano a un progetto specifico
EmploymentData.projects:'GeneGnomes'
Cercare tutti i dipendenti che si trovano in una sede specifica
EmploymentData.location='Atlanta'
Cerca tutti i dipendenti oltre il livello lavorativo 7
EmploymentData.jobLevel>=7
Cerca tutti i dipendenti con livelli lavorativi >= 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 è stata applicata la verifica in due passaggi
isEnforcedIn2Sv=true