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 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