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, ovvero una query di ricerca che combina una o più clausole di ricerca. Ogni clausola di ricerca è composta da tre 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 in givenName, familyName o email.
name stringa =, : Il valore concatenato di givenName e familyName.
email stringa =, :, :{PREFIX}* Gli indirizzi email dell'utente, inclusi gli alias.
givenName stringa =, :, :{PREFIX}* Il nome di un utente.
familyName stringa =, :, :{PREFIX}* Il cognome di un utente.
isAdmin booleano = Se un utente dispone dei privilegi di super amministratore.
isDelegatedAdmin booleano = Indica se un utente dispone dei privilegi amministrativi delegati.
isSuspended booleano = Se l'account di un utente è sospeso.
isArchived booleano = Se l'account di un utente è archiviato.
im stringa =, : ID rete di messaggistica istantanea.
externalId stringa =, : Valore dell'ID esterno.
manager stringa = L'indirizzo email del manager di un utente, direttamente o nella catena di gestione.
managerId stringa = L'ID dell'amministratore di un utente direttamente o nella catena di gestione.
directManager stringa = L'indirizzo email del manager diretto di un utente.
directManagerId stringa = L'ID dell'amministratore 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 include una sottoregione.
addressStreet stringa =, : Indirizzo e numero civico.
addressLocality stringa =, : Una città dell'indirizzo.
addressRegion stringa =, : Una provincia o uno stato abbreviato.
addressPostalCode stringa =, : Un CAP o 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 =, : Una descrizione dell'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 sotto il target. 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 per l'utente.
schemaName.fieldName ? ? Un attributo utente personalizzato, a cui viene fatto riferimento tramite lo schema e il nome del campo. Il campo deve avere la proprietà indexed impostata su true.

Tipi di valori

Tipo di valore Schema equivalente fieldType Note
stringa STRING, EMAIL, PHONE Raccolgi 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 Deve utilizzare un punto come separatore decimale e nessun separatore delle migliaia, ad esempio 150430.25.
data DATE Specificata 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 a "Jane Ann". Supportato dalla maggior parte dei campi stringa (vedi sopra).
: stringa Il campo contiene le parole intere all'interno del valore, in ordine. Ad esempio, una query con givenName:Jane corrisponde agli utenti con valori givenName pari a "Jane" e "Jane Ann", ma non a "Janet". Una query composta da più parole per 'givenName:Mary Ann' corrisponderà ai valori "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 agli utenti con valori givenName pari a "Jane", "Jane Ann" e "Janet", ma non a "Sarah Jane". Supportato solo su un insieme limitato di campi stringa (vedi sopra). Non supportato per gli attributi personalizzati.
:[{MIN},{MAX}] number, date Il campo rientra in un intervallo. Per la corrispondenza, il valore del campo deve essere maggiore o uguale a {MIN} e minore di {MAX}. Gli attributi numerici personalizzati devono specificare un numericIndexingSpec per supportare questo operatore.
> number, date Il campo è maggiore del valore. Gli attributi numerici personalizzati devono specificare un numericIndexingSpec per supportare questo operatore.
>= number, date Il campo è maggiore o uguale al valore. Gli attributi numerici personalizzati devono specificare un numericIndexingSpec per supportare questo operatore.
< number, date Il campo è inferiore al valore. Gli attributi numerici personalizzati devono specificare un numericIndexingSpec per supportare questo operatore.
<= number, date Il campo è minore o uguale al valore. Gli attributi numerici personalizzati devono specificare un numericIndexingSpec per supportare questo operatore.

Esempi

Tutte le query utilizzano il metodo users.list, che ha una richiesta HTTP simile alla seguente (interruzioni di riga incluse per 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 test sul 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'

Cercare utenti con un givenName O familyName che contiene un valore

name:'Jane'

Cercare utenti che corrispondono a un prefisso email

email:admin*

Cercare tutti i super amministratori

isAdmin=true

Cerca utenti con orgTitles contenente "Manager"

orgTitle:Manager

Cercare utenti con un responsabile comune nella catena gerarchica

manager='janesmith@example.com'

Cercare utenti con lo stesso responsabile diretto

directManager='bobjones@example.com'

Cercare utenti in un determinato paese

addressCountry='Sweden'

Cercare utenti in un'organizzazione specifica

orgName='Human Resources'

Cercare i gestori in un'organizzazione specifica

orgName=Engineering orgTitle:Manager

Cercare attributi utente personalizzati

Cercare tutti i dipendenti che lavorano a un progetto specifico

EmploymentData.projects:'GeneGnomes'

Cercare tutti i dipendenti in una località specifica

EmploymentData.location='Atlanta'

Cercare tutti i dipendenti con un livello di lavoro superiore a 7

EmploymentData.jobLevel>=7

Cerca tutti i dipendenti con livelli di lavoro >= 5 e < 8

EmploymentData.jobLevel:[5,8]

Cercare tutti i dipendenti registrati per la verifica in due passaggi

isEnrolledIn2Sv=true

Cercare tutti i dipendenti per i quali è stata applicata la verifica in due passaggi

isEnforcedIn2Sv=true