Cerca utenti

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