Cerca utenti

Puoi cercare gli utenti corrispondenti 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 tre parti:

Campo
Attributo utente per cui viene eseguita la ricerca. Ad esempio, givenName.
Operatore
Test eseguito sui dati per trovare una corrispondenza. Ad esempio, l'operatore : verifica se un attributo di testo contiene un valore.
Valore
I contenuti dell'attributo sottoposto a test. 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 o il nome di battesimo di un utente.
familyName stringa =, :, :{PREFIX}* Il cognome o il nome di un utente.
isAdmin booleano = Indica se un utente dispone dei privilegi di super amministratore.
isDelegatedAdmin booleano = Indica se un utente ha i privilegi di amministratore delegati.
isSuspended booleano = Indica se l'account di un utente è sospeso.
isArchived booleano = Indica se l'account di un utente è archiviato.
im stringa =, : ID rete IM.
externalId stringa =, : Valore dell'ID esterno.
manager stringa = L'indirizzo email del responsabile 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 responsabile diretto di un utente.
directManagerId stringa = L'ID dell'amministratore diretto di un utente.
address stringa : Corrisponde a tutti i campi 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à o un paese dell'indirizzo.
addressRegion stringa =, : Una provincia o uno stato abbreviati.
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 =, : 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 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 è impostata per l'utente.
schemaName.fieldName ? ? Un attributo utente personalizzato, a cui viene fatto riferimento tramite il nome dello schema e del campo. La proprietà indexed del campo deve essere impostata su true.

Tipi di valori

Tipo di valore fieldType dello schema equivalente Note
stringa STRING, EMAIL, PHONE Racchiudi la query tra virgolette singole ' se contiene spazi vuoti. Inserisci un carattere di escape per le virgolette singole nelle query con \', ad esempio 'Valentine\'s Day'.
booleano BOOL Deve avere un valore true o false. Supporta solo l'operatore =.
numero INT64, DOUBLE Deve essere utilizzato un punto come separatore decimale e nessun separatore di migliaia, ad esempio 150430.25.
data 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 a "Jane Ann". Supportato dalla maggior parte dei campi di stringa (vedi sopra).
: stringa Il campo contiene le parole intere all'interno del valore, in ordine. Ad esempio, una query con givenName:Jane trova gli utenti con valori givenName pari a "Jane" e "Jane Ann", ma non "Janet". Una query di più parole per 'givenName:Mary Ann' corrisponde ai valori di "Mary Ann Evans" e "Sarah Mary Ann", ma non a "Ann Mary". Supportato dalla maggior parte dei campi di stringa (vedi sopra).
:{PREFIX}* stringa Il campo inizia con il valore. Ad esempio, una query con givenName:Jane* trova gli utenti con valori givenName pari a "Jane", "Jane Ann" e "Janet", ma non "Sarah Jane". Supportato solo per un insieme limitato di campi di 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 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 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 OPPURE familyName che contiene un valore

name:'Jane'

Cercare gli utenti corrispondenti a un prefisso email

email:admin*

Cercare tutti i super amministratori

isAdmin=true

Cerca gli utenti con orgTitles contenente "Gestore"

orgTitle:Manager

Cercare gli utenti con un responsabile comune nella catena di generazione di report

manager='janesmith@example.com'

Cercare gli 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 i gestori di un'organizzazione specifica

orgName=Engineering orgTitle:Manager

Cercare gli 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 di livello superiore al 7

EmploymentData.jobLevel>=7

Cerca tutti i dipendenti con livelli di lavoro compresi tra 5 e 8

EmploymentData.jobLevel:[5,8]

Cercare tutti i dipendenti che hanno eseguito la registrazione alla verifica in due passaggi

isEnrolledIn2Sv=true

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

isEnforcedIn2Sv=true