L'API Directory fornisce metodi programmatici per la creazione, l'aggiornamento e l'eliminazione degli utenti. Puoi anche ottenere informazioni su singoli utenti o elenchi di utenti che soddisfano criteri specifici. Di seguito sono riportati alcuni esempi di operazioni utente di base.
Crea un account utente
Puoi aggiungere un account utente a qualsiasi dominio del tuo account Google Workspace. Prima di aggiungere un account utente, conferma la proprietà del dominio.
Se hai eseguito l'upgrade del tuo account Gmail personale a un account email aziendale con il tuo nome di dominio, non potrai creare nuovi account utente finché non sblocchi le impostazioni aggiuntive di Google Workspace. Per maggiori dettagli, vedi Account email aziendali di G Suite aggiornati a G Suite Basic.
Per creare un account utente utilizzando uno dei tuoi domini, usa la seguente richiesta POST
e includi l'autorizzazione descritta in Informazioni su autenticazione e autorizzazione. Puoi visualizzare gli ambiti disponibili per l'API Directory nell'elenco degli ambiti OAuth 2.0. Per le proprietà della stringa di query della richiesta, consulta il metodo users.insert()
.
POST https://admin.googleapis.com/admin/directory/v1/users
Per tutte le richieste di creazione è necessario inviare le informazioni necessarie per soddisfarla. Se utilizzi librerie client, gli oggetti di dati del linguaggio scelto vengono convertiti in oggetti con formattazione dati JSON.
Richiesta JSON
Il JSON seguente mostra una richiesta di esempio per creare un utente. Per l'elenco completo delle proprietà di richiesta e risposta, consulta la documentazione di riferimento API.
{
"primaryEmail": "liz@example.com",
"name": {
"givenName": "Elizabeth",
"familyName": "Smith"
},
"suspended": false,
"password": "new user password",
"hashFunction": "SHA-1",
"changePasswordAtNextLogin": false,
"ipWhitelisted": false,
"ims": [
{
"type": "work",
"protocol": "gtalk",
"im": "liz_im@talk.example.com",
"primary": true
}
],
"emails": [
{
"address": "liz@example.com",
"type": "home",
"customType": "",
"primary": true
}
],
"addresses": [
{
"type": "work",
"customType": "",
"streetAddress": "1600 Amphitheatre Parkway",
"locality": "Mountain View",
"region": "CA",
"postalCode": "94043"
}
],
"externalIds": [
{
"value": "12345",
"type": "custom",
"customType": "employee"
}
],
"organizations": [
{
"name": "Google Inc.",
"title": "SWE",
"primary": true,
"type": "work",
"description": "Software engineer"
}
],
"phones": [
{
"value": "+1 nnn nnn nnnn",
"type": "work"
}
],
"orgUnitPath": "/corp/engineering",
"includeInGlobalAddressList": true
}
Se la frequenza di query per le richieste di creazione è troppo elevata, potresti ricevere risposte HTTP 503
dal server API che indicano che la tua quota è stata superata. Se ricevi queste risposte, utilizza un algoritmo di backoff esponenziale per riprovare le richieste.
Aspetti da considerare in merito a un nuovo account:
- Se l'Account Google ha acquistato delle licenze per posta, al nuovo account utente viene assegnata automaticamente una casella di posta. Il completamento e l'attivazione di questo compito potrebbero richiedere alcuni minuti.
- La modifica di un campo di sola lettura in una richiesta, ad esempio
isAdmin
, viene ignorata automaticamente dal servizio API. - Il numero massimo di domini consentiti in un account è 600 (1 dominio principale + 599 domini aggiuntivi)
- Se un utente non è stato assegnato a un'unità organizzativa specifica al momento della creazione dell'account utente, l'account si trova nell'unità organizzativa di primo livello. L'unità organizzativa di un utente determina a quali servizi di Google Workspace l'utente può accedere. Se l'utente viene spostato in una nuova organizzazione, il suo accesso cambia. Per ulteriori informazioni sulle strutture organizzative, visita il Centro assistenza per l'amministrazione. Per saperne di più su come spostare un utente in un'altra organizzazione, vedi Aggiornare un utente.
- Per i nuovi account utente è necessario un
password
. SehashFunction
è specificato, la password deve essere una chiave hash valida. Se non viene specificata, la password deve essere in chiaro e avere una lunghezza compresa tra 8 e 100 caratteri ASCII. Per ulteriori informazioni, consulta la sezione Riferimento API. - Per gli utenti che hanno un piano flessibile per Google Workspace, la creazione di utenti tramite questa API avrà un impatto monetario e comporterà addebiti sul tuo account di fatturazione del cliente. Per ulteriori informazioni, consulta le informazioni di fatturazione dell'API.
- Un account Google Workspace può includere qualsiasi tuo dominio. In un account con più domini, gli utenti di un dominio possono condividere servizi con utenti di altri domini di account. Per ulteriori informazioni sugli utenti in più domini, consulta le informazioni sui domini multipli dell'API.
- Potrebbero esserci account in conflitto. Verifica se qualcuno che intendi aggiungere ha già un Account Google. quindi segui i passaggi per evitare conflitti con questi account. Vedi Individuare e risolvere gli account in conflitto.
- Potrebbero esserci account visitatore. Se gli utenti invitano persone esterne all'organizzazione che non hanno Account Google a collaborare su Drive, riceveranno account visitatore nel formato nomeutente_visitatore@tuo_dominio.com. Se aggiungi un utente con lo stesso nome utente di un account visitatore, l'account verrà convertito in un account Google Workspace completo. L'account manterrà le autorizzazioni attuali per i file di Drive. Vedi Condividere documenti con i visitatori.
Una risposta corretta restituisce un codice di stato HTTP 200. Insieme al codice di stato, la risposta restituisce le proprietà del nuovo account utente.
Aggiornare un account utente
Per aggiornare un account utente, utilizza la seguente richiesta PUT
e includi l'autorizzazione descritta in Autorizzare le richieste. userKey
può essere l'indirizzo email principale dell'utente, l'utente unico id
o uno degli indirizzi email alias dell'utente.
PUT https://admin.googleapis.com/admin/directory/v1/users/userKey
Sia il corpo della richiesta che della risposta contengono un'istanza di User
. Tuttavia, l'API Directory supporta la semantica della patch, quindi nella richiesta devi solo inviare i campi aggiornati.
Richiesta di esempio
Nell'esempio riportato di seguito, il givenName
dell'utente era "Elizabeth" al momento della creazione dell'account
utente ed è stato fornito solo un indirizzo email di lavoro.
{
"name": {
"givenName": "Elizabeth",
"familyName": "Smith"
},
"emails": [
{
"address": "liz@example.com",
"type": "work",
"primary": true
}
}
La richiesta riportata di seguito aggiorna givenName
da "Elizabeth" a "Liz" e
aggiunge anche un indirizzo email di casa. Tieni presente che entrambi gli indirizzi email vengono forniti
esclusivamente perché il campo è un array.
PUT https://admin.googleapis.com/admin/directory/v1/users/liz@example.com
{
"name": {
"givenName": "Liz",
},
"emails": [
{
"address": "liz@example.com",
"type": "work",
"primary": true
},
{
"address": "liz@home.com",
"type": "home"
}
]
}
Una risposta riuscita restituisce un codice di stato HTTP 200
e una risorsa User
con i campi aggiornati.
Tieni presente quanto segue quando aggiorni il nome dell'account di un utente:
- La ridenominazione di un account utente comporta la modifica dell'indirizzo email principale dell'utente e del dominio utilizzato durante il recupero delle informazioni dell'utente. Prima di rinominare un utente, ti consigliamo di disconnetterlo da tutti i servizi e le sessioni del browser.
- Il processo di ridenominazione di un account utente può richiedere fino a 10 minuti per la propagazione in tutti i servizi.
- Quando rinomini un utente, il vecchio nome utente viene conservato come alias per garantire la continuità del recapito della posta nel caso delle impostazioni di inoltro email e non è disponibile come nuovo nome utente.
- In generale, consigliamo inoltre di non utilizzare l'indirizzo email dell'utente come chiave per i dati persistenti perché l'indirizzo email è soggetto a modifiche.
- Per un elenco completo degli effetti della ridenominazione di un utente nelle app Google Workspace, consulta il Centro assistenza per amministratori.
Impostare un utente come amministratore
Per assegnare all'utente un ruolo di super amministratore, utilizza la seguente richiesta POST
e includi l'autorizzazione descritta in Autorizzare le richieste. userKey
può essere l'indirizzo email principale dell'utente, l'utente unico id
o uno degli indirizzi email alias dell'utente. Per le proprietà di richiesta e risposta, consulta la sezione Riferimento API. Per ulteriori informazioni su un super amministratore, visita il Centro assistenza per gli amministratori.
POST https://admin.googleapis.com/admin/directory/v1/users/userKey/makeAdmin
Richiesta JSON
In questo esempio, l'utente il cui userKey
è liz@example.com è diventato un super amministratore:
POST https://admin.googleapis.com/admin/directory/v1/users/liz@example.com/makeAdmin
{ "status": true }
Una risposta corretta restituisce un codice di stato HTTP 200.
Gestire le relazioni con gli utenti
L'API Directory utilizza il campo relations
per definire diversi tipi di relazioni tra gli utenti. In ambito aziendale, questo campo viene utilizzato in genere per le relazioni tra dipendente-dipendente e con l'assistente, ma supporta anche molti altri tipi. La relazione viene visualizzata nella scheda "Persone correlate" dell'utente in qualsiasi applicazione Google Workspace che la supporti. Per esempi di dove è visibile la scheda, vedi Aggiungere informazioni al profilo della directory di un utente.
Creare una relazione tra gli utenti
Puoi definire una relazione in una sola direzione, a partire dall'utente "proprietario", il cui record include il campo relations
. type
descrive la relazione dell'altra persona con l'utente proprietario. Ad esempio, in una relazione tra responsabile e dipendente, il dipendente è l'utente proprietario e tu aggiungi un campo relations
al suo account con il tipo manager
. Per
i tipi consentiti, consulta il
riferimento agli oggetti User
.
Configura la relazione creando o aggiornando l'utente proprietario con un corpo della richiesta JSON che includa il campo relations
.
Puoi creare più relazioni in una sola richiesta.
{
"relations": [
{
"value": "EMAIL_ADDRESS_RELATION_1",
"type": "manager"
},
{
"value": "EMAIL_ADDRESS_RELATION_2",
"type": "dotted_line_manager"
}
]
}
Aggiornare o eliminare una relazione
Puoi aggiornare solo il campo relations
, ma solo nel complesso, non puoi rivolgerti alle singole persone elencate per modificare il tipo di relazione o rimuoverle. Nell'esempio precedente, per rimuovere la relazione esistente con il gestore e impostare il gestore con la linea tratteggiata come gestore dell'utente proprietario, aggiorna l'account proprietario con tutti i valori del campo a seconda delle esigenze.
{
"relations": [
{
"value": "EMAIL_ADDRESS_RELATION_2",
"type": "manager"
}
]
}
Per rimuovere tutte le relazioni dell'utente proprietario, imposta il campo relations
vuoto:
{
"relations": []
}
Recuperare un utente
Per recuperare un utente, usa la seguente richiesta GET
e includi l'autorizzazione descritta in Autorizzare le richieste. userKey
può essere l'indirizzo email principale dell'utente, l'utente unico id
o uno degli indirizzi email alias dell'utente. Per le proprietà di richiesta e risposta, consulta la documentazione di riferimento API.
GET https://admin.googleapis.com/admin/directory/v1/users/userKey
Questo esempio restituisce le proprietà dell'account utente per l'utente il cui indirizzo email principale o alias è liz@example.com:
GET https://admin.googleapis.com/admin/directory/v1/users/liz@example.com
Risposta JSON
Una risposta corretta restituisce un codice di stato HTTP 200. Insieme al codice di stato, la risposta restituisce le proprietà dell'account utente.
{ "kind": "directory#user", "id": "the unique user id", "primaryEmail": "liz@example.com", "name": { "givenName": "Liz", "familyName": "Smith", "fullName": "Liz Smith" }, "isAdmin": true, "isDelegatedAdmin": false, "lastLoginTime": "2013-02-05T10:30:03.325Z", "creationTime": "2010-04-05T17:30:04.325Z", "agreedToTerms": true, "hashFunction": "SHA-1", "suspended": false, "changePasswordAtNextLogin": false, "ipWhitelisted": false, "ims": [ { "type": "work", "protocol": "gtalk", "im": "lizim@talk.example.com", "primary": true } ], "emails": [ { "address": "liz@example.com", "type": "home", "customType": "", "primary": true } ], "addresses": [ { "type": "work", "customType": "", "streetAddress": "1600 Amphitheatre Parkway", "locality": "Mountain View", "region": "CA", "postalCode": "94043" } ], "externalIds": [ { "value": "employee number", "type": "custom", "customType": "office" } ], "organizations": [ { "name": "Google Inc.", "title": "SWE", "primary": true, "customType": "", "description": "Software engineer" } ], "phones": [ { "value": "+1 nnn nnn nnnn", "type": "work" } ], "aliases": [ "lizsmith@example.com", "lsmith@example.com" ], "nonEditableAliases": [ "liz@test.com" ], "customerId": "C03az79cb", "orgUnitPath": "corp/engineering", "isMailboxSetup": true, "includeInGlobalAddressList": true }
Recuperare tutti gli utenti di un dominio
Per recuperare tutti gli utenti nello stesso dominio, utilizza la seguente richiesta GET
e includi l'autorizzazione descritta in Autorizzare le richieste. Per la leggibilità, in questo esempio vengono utilizzati i ritorni a capo:
GET https://admin.googleapis.com/admin/directory/v1/users ?domain=primary domain name&pageToken=token for next results page &maxResults=max number of results per page &orderBy=email, givenName, or familyName &sortOrder=ascending or descending &query=email, givenName, or familyName:the query's value*
Per le proprietà di richiesta e risposta, consulta la documentazione di riferimento API.
Risposta JSON
In questo esempio, tutti gli utenti del dominio example.com vengono restituiti con un massimo di due domini utente per pagina di risposta. È presente un nextPageToken
per l'elenco di utenti successivi in questa risposta. Per impostazione predefinita, il sistema restituisce un elenco di 100 utenti in ordine alfabetico in base al loro indirizzo email:
GET https://admin.googleapis.com/admin/directory/v1/users?domain=example.com&maxResults=2
Una risposta corretta restituisce un codice di stato HTTP 200. Insieme al codice di stato, la risposta restituisce due account utente nel dominio example.com (maxResults=2
):
{ "kind": "directory#users", "users": [ { "kind": "directory#user", "id": "the unique user id", "primaryEmail": "liz@example.com", "name": { "givenName": "Liz", "familyName": "Smith", "fullName": "Liz Smith" }, "isAdmin": true, "isDelegatedAdmin": false, "lastLoginTime": "2013-02-05T10:30:03.325Z", "creationTime": "2010-04-05T17:30:04.325Z", "agreedToTerms": true, "hashFunction": "SHA-1", "suspended": false, "changePasswordAtNextLogin": false, "ipWhitelisted": false, "ims": [ { "type": "work", "protocol": "gtalk", "im": "lizim@talk.example.com", "primary": true } ], "emails": [ { "address": "liz@example.com", "type": "work", "customType": "", "primary": true } ], "addresses": [ { "type": "work", "customType": "", "streetAddress": "1600 Amphitheatre Parkway", "locality": "Mountain View", "region": "CA", "postalCode": "94043" } ], "externalIds": [ { "value": "employee number", "type": "custom", "customType": "office" } ], "organizations": [ { "name": "Google Inc.", "title": "SWE", "primary": true, "customType": "", "description": "Software engineer" } ], "phones": [ { "value": "+1 nnn nnn nnnn", "type": "work" } ], "aliases": [ "lizsmith@example.com", "lsmith@example.com" ], "nonEditableAliases": [ "liz@test.com" ], "customerId": "C03az79cb", "orgUnitPath": "corp/engineering", "isMailboxSetup": true, "includeInGlobalAddressList": true }, { "kind": "directory#user", "id": "user unique ID", "primaryEmail": "admin2@example.com", "name": { "givenName": "admin", "familyName": "two", "fullName": "admin two" }, "isAdmin": true, "isDelegatedAdmin": true, "lastLoginTime": "2013-02-05T10:30:03.325Z", "creationTime": "2010-04-05T17:30:04.325Z", "agreedToTerms": true, "hashFunction": "SHA-1", "suspended": true, "suspensionReason": "ADMIN", "changePasswordAtNextLogin": false, "ipWhitelisted": false, "emails": [ { "address": "admin2@example.com", "type": "work", "customType": "", "primary": true } ], "externalIds": [ { "value": "contractor license number", "type": "custom", "customType": "work" } ], "aliases": [ "second_admin@example.com" ], "nonEditableAliases": [ "admin@test.com" ], "customerId": "C03az79cb", "orgUnitPath": "corp/engineering", "isMailboxSetup": true, "includeInGlobalAddressList": true } ], "nextPageToken": "next page token" }
Recupera tutti gli utenti dell'account
Per recuperare tutti gli utenti in un account che può essere formato da più domini, usa la seguente richiesta GET
e includi l'autorizzazione descritta in Autorizzare le richieste. Per la leggibilità, in questo esempio vengono utilizzati i ritorni a capo:
GET https://admin.googleapis.com/admin/directory/v1/users ?customer=my_customer or customerId&pageToken=token for next results page &maxResults=max number of results per page &orderBy=email, givenName, or familyName &sortOrder=ascending or descending &query=user attributes
- La stringa di query
customer
è il valoremy_customer
ocustomerId
. - Utilizza la stringa
my_customer
per rappresentare il valorecustomerId
del tuo account. - In qualità di amministratore del rivenditore, utilizza il
customerId
del cliente del rivenditore. PercustomerId
, utilizza il nome di dominio principale dell'account nella richiesta dell'operazione Recupera tutti gli utenti in un dominio. La risposta risultante ha il valorecustomerId
. - La stringa di query
orderBy
facoltativa determina se l'elenco è ordinato in base all'indirizzo email principale, al nome della famiglia o al nome dell'utente. Quando usiorderBy
, puoi anche usare la stringa di querysortOrder
per elencare i risultati in ordine crescente o decrescente. - La stringa di query
query
facoltativa consente di cercare in molti campi di un profilo utente, inclusi quelli principali e personalizzati. Consulta Ricerca di utenti per alcuni esempi.
Per le proprietà di richiesta e risposta, consulta la documentazione di riferimento API.
In questo esempio, un amministratore dell'account richiede che tutti gli utenti dell'account vengano restituiti con una voce utente in ogni pagina di risposta. nextPageToken
rimanda alla pagina successiva dei risultati:
GET https://admin.googleapis.com/admin/directory/v1/users?customer=my_customer&maxResults=1
In questo esempio, l'amministratore di un rivenditore richiede tutti gli utenti di un account rivenduto che ha il valore customerId
di C03az79cb
.
GET https://admin.googleapis.com/admin/directory/v1/users?customer=C03az79cb&maxResults=1
Risposta JSON
Una risposta corretta restituisce un codice di stato HTTP 200. Insieme al codice di stato, la risposta restituisce tutti gli utenti presenti in questo account:
{ "kind": "directory#users", "users": [ { "kind": "directory#user", "id": "the unique user id", "username": "admin2@example.com", "name": { "givenName": "admin", "familyName": "two", "fullName": "admin two" }, "isAdmin": true, "isDelegatedAdmin": true, "lastLoginTime": "2013-02-05T10:30:03.325Z", "creationTime": "2010-04-05T17:30:04.325Z", "agreedToTerms": true, "hashFunction": "SHA-1", "suspended": false, "changePasswordAtNextLogin": false, "ipWhitelisted": false, "emails": [ { "address": "admin2@example.com", "type": "work", "customType": "", "primary": true } ], "externalIds": [ { "value": "employee number", "type": "custom", "customType": "office" } ], "aliases": [ "second_admin@example.com" ], "nonEditableAliases": [ "another_admin@test.com" ], "customerId": "C03az79cb", "orgUnitPath": "/", "isMailboxSetup": true, "includeInGlobalAddressList": true }, { "kind": "directory#user", "id": "the unique user id", "username": "liz@example.com", "name": { "givenName": "Elizabeth", "familyName": "Smith", "fullName": "Elizabeth Smith" }, "isAdmin": false, "isDelegatedAdmin": false, "lastLoginTime": "1336509883546", "creationTime": "1404802800000", "agreedToTerms": false, "hashFunction": "SHA-1", "suspended": false, "changePasswordAtNextLogin": false, "ipWhitelisted": false, "emails": [ { "address": "liz@example.com", "type": "home", "customType": "", "primary": true } ], "externalIds": [ { "value": "employee number", "type": "custom", "customType": "bank" } ], "relations": [ { "value": "liz", "type": "friend", "customType": "" } ], "aliases": [ "lizsmith@example.com", "lsmith@example.com" ], "nonEditableAliases": [ "liz@test.com" ], "customerId": "C03az79cb", "orgUnitPath": "/", "isMailboxSetup": true, "includeInGlobalAddressList": true }, { "kind": "directory#user", "id": "the unique user id", "username": "test3@example.com", "name": { "givenName": "Tester", "familyName": "Three", "fullName": "Tester Three" }, "isAdmin": false, "isDelegatedAdmin": false, "lastLoginTime": "1336509883546", "creationTime": "1404802800000", "agreedToTerms": true, "hashFunction": "SHA-1", "suspended": false, "changePasswordAtNextLogin": false, "ipWhitelisted": false, "emails": [ { "address": "test@example.com", "type": "work", "customType": "", "primary": true } ], "externalIds": [ { "value": "employee number", "type": "custom", "customType": "office" } ], "aliases": [ "tester3@example.com" ], "nonEditableAliases": [ "third@test.com" ], "customerId": "C03az79cb", "orgUnitPath": "/", "isMailboxSetup": true, "includeInGlobalAddressList": true }, { "kind": "directory#user", "id": "the unique user id", "username": "work_admin@example.com", "name": { "givenName": "Admin", "familyName": "Work", "fullName": "Admin Work" }, "isAdmin": true, "isDelegatedAdmin": true, "lastLoginTime": "1336509883546", "creationTime": "1404802800000", "agreedToTerms": true, "hashFunction": "SHA-1", "suspended": false, "changePasswordAtNextLogin": false, "ipWhitelisted": false, "emails": [ { "address": "work_admin@example.com", "type": "work", "customType": "", "primary": true } ], "externalIds": [ { "value": "employee number", "type": "custom", "customType": "office" } ], "aliases": [ "my_alias@example.com" ], "nonEditableAliases": [ "other_alias@test.com" ], "customerId": "C03az79cb", "orgUnitPath": "/", "isMailboxSetup": true, "includeInGlobalAddressList": true } ], "nextPageToken": "NNNNN" }
Recuperare gli utenti eliminati di recente
Per recuperare tutti gli utenti eliminati nell'arco degli ultimi 20 giorni da un account o da uno dei domini dell'account, utilizza le seguenti richieste GET
e includi l'autorizzazione descritta in Autorizzare le richieste. Per annullare l'eliminazione di un utente, vedi Annullare l'eliminazione di un utente.
Per recuperare gli utenti eliminati nell'arco degli ultimi 20 giorni dal dominio principale o da un sottodominio dell'account, utilizza la seguente richiesta GET
. La stringa di query domain
è il nome di dominio principale del dominio. Per le proprietà di richiesta e risposta dell'utente, consulta la documentazione di riferimento API. Inoltre, per la leggibilità, in questo esempio vengono utilizzati i ritorni a capo:
GET https://admin.googleapis.com/admin/directory/v1/users ?domain=primary domain name&pageToken=token for next results page &maxResults=max number of results per page &showDeleted=trueSe un account ha più domini, puoi recuperare gli utenti eliminati nell'arco degli ultimi 20 giorni dall'intero account utilizzando la seguente richiesta
GET
. Per la leggibilità, in questo esempio vengono utilizzati i ritorni a capo:
GET https://admin.googleapis.com/admin/directory/v1/users ?customer=my_customer or customerId&pageToken=token for next results page &maxResults=max number of results per page&showDeleted=true
- La stringa di query
customer
è il valoremy_customer
ocustomerId
. - In qualità di amministratore dell'account, utilizza la stringa
my_customer
per rappresentarecustomerId
del tuo account. - In qualità di amministratore del rivenditore, utilizza il
customerId
del cliente del rivenditore. PercustomerId
, utilizza il nome di dominio principale dell'account nella richiesta dell'operazione Recupera tutti gli utenti in un dominio. La risposta risultante ha il valorecustomerId
.
Per le proprietà di richiesta e risposta, consulta la documentazione di riferimento API.
In questo esempio, un amministratore di account richiede a tutti gli utenti eliminati dell'account:
GET https://admin.googleapis.com/admin/directory/v1/users?customer=my_customer&showDeleted=true
Risposta JSON
Una risposta corretta restituisce un codice di stato HTTP 200. Insieme al codice di stato, la risposta restituisce tutti gli utenti dell'account eliminati negli ultimi 20 giorni:
{ "kind": "directory#users", "users": [ { "kind": "directory#user", "id": "the unique user id", "primaryEmail": "user1@example.com" }, { "kind": "directory#user", "id": "the unique user id", "primaryEmail": "user3@example.com" } ], "nextPageToken": "token for next page of deleted users" }
Recuperare la foto di un utente
L'API recupera la miniatura di una foto, ovvero l'ultima foto del profilo Google. Per recuperare l'ultima foto dell'utente, usa la seguente richiesta GET
e includi l'autorizzazione descritta in Autorizzare le richieste. userKey
può essere l'indirizzo email principale dell'utente, l'utente id
o qualsiasi indirizzo email alias dell'utente. Per le proprietà di richiesta e risposta, consulta la documentazione di riferimento API.
GET https://admin.googleapis.com/admin/directory/v1/users/userKey/photos/thumbnail
In questo esempio, viene restituita l'ultima foto di liz@example.com:
GET https://admin.googleapis.com/admin/directory/v1/users/liz@example.com/photos/thumbnail
Risposta JSON
Una risposta corretta restituisce un codice di stato HTTP 200.
{ "kind": "directory#user#photo", "id": "the unique user id", "primaryEmail": "liz@example.com", "mimeType": "the photo mime type", "height": "the photo height in pixels", "width": "the photo width in pixels", "photoData": "web safe base64 encoded photo data" }
La codifica Base64 dell'API Web sicura delle foto è simile alla codifica RFC 4648 "base64url". Ciò significa che:
- La barra (/) viene sostituita dal trattino basso (_).
- Il segno più (+) viene sostituito con il trattino (-).
- Il segno di uguale (=) viene sostituito dall'asterisco (*).
- Per la spaziatura interna, viene utilizzato il carattere punto (.) al posto della definizione baseURL di RFC-4648 che utilizza il segno uguale (=) per la spaziatura interna. Questo viene fatto per semplificare l'analisi degli URL.
- A prescindere dalle dimensioni della foto caricata, l'API la ridimensiona proporzionalmente a 96 x 96 pixel.
Se devi creare link compatibili da JavaScript, la Google Closure Library include funzioni di codifica e decodifica Base64, rilasciate sotto la licenza Apache.
Recuperare un utente come non amministratore
Mentre gli account utente possono essere modificati solo dagli amministratori, qualsiasi utente del dominio può leggere i profili utente. Un utente non amministratore può effettuare una richiesta
users.get
o
users.list
con
il parametro viewType
uguale a domain_public
per recuperare il profilo pubblico
di un utente. L'ambito https://www.googleapis.com/auth/admin.directory.user.readonly
è ideale per questo caso d'uso.
La vista domain_public
consente a un utente non amministratore di accedere a un set standard di campi principali. Per un campo personalizzato, puoi scegliere se deve essere pubblico o privato quando definisci lo schema.
Aggiornare la foto di un utente
Per aggiornare la foto di un utente, usa la seguente richiesta PUT
e includi l'autorizzazione descritta in Autorizzare le richieste. userKey
può essere l'indirizzo email principale dell'utente, l'utente id
o una qualsiasi delle email degli alias utente. Per le proprietà di richiesta e risposta, consulta la documentazione di riferimento API.
PUT https://admin.googleapis.com/admin/directory/v1/users/userKey/photos/thumbnail
In questo esempio, la foto liz@example.com viene aggiornata:
PUT https://admin.googleapis.com/admin/directory/v1/users/liz@example.com/photos/thumbnail
{
"photoData": "web safe base64 encoded photo data"
}
Quando aggiorni una foto, height
e width
vengono ignorati dall'API.
Risposta JSON
Una risposta corretta restituisce un codice di stato HTTP 200.
{ "kind": "directory#user#photo", "id": "the unique user id", "primaryEmail": "liz@example.com", "mimeType": "the photo mime type", "height": "the photo height in pixels", "width": "the photo width in pixels", "photoData": "web safe base64 encoded photo data" }
Eliminare la foto di un utente
Per eliminare la foto di un utente, utilizza la seguente richiesta DELETE
e includi l'autorizzazione descritta in Autorizzare le richieste. userKey
può essere l'indirizzo email principale dell'utente, l'utente id
o una qualsiasi delle email degli alias utente. Per le proprietà di richiesta e risposta, consulta la documentazione di riferimento API.
DELETE https://admin.googleapis.com/admin/directory/v1/users/userKey/photos/thumbnail
Una volta eliminata, la foto dell'utente non viene più visualizzata. Ogni volta che è richiesta la foto di un utente, verrà visualizzata una sagoma.
Eliminare un account utente
Per eliminare un account utente, usa la seguente richiesta DELETE
e includi l'autorizzazione descritta in Autorizzare le richieste. userKey
può essere l'indirizzo email principale dell'utente, l'utente unico id
o uno degli indirizzi email alias dell'utente. Per le proprietà di richiesta e risposta, consulta la documentazione di riferimento API.
DELETE https://admin.googleapis.com/admin/directory/v1/users/userKey
In questo esempio, l'account utente liz@example.com viene eliminato:
DELETE https://admin.googleapis.com/admin/directory/v1/users/liz@example.com
Una risposta corretta restituisce solo un codice di stato HTTP 200.
Aspetti importanti da considerare prima di eliminare un utente:
- L'utente eliminato non potrà più accedere.
- Per ulteriori informazioni sull'eliminazione degli account utente, consulta il Centro assistenza per gli amministratori.
Annullare l'eliminazione di un account utente
Un utente eliminato negli ultimi 20 giorni deve soddisfare determinate condizioni prima che l'account possa essere ripristinato.
Per annullare l'eliminazione di un account utente, utilizza la seguente richiesta POST
e includi l'autorizzazione descritta in Autorizzare le richieste. userKey
è l'utente unico id
trovato nella risposta all'operazione Recupera gli utenti eliminati negli ultimi 20 giorni. Per questa operazione non è possibile utilizzare l'indirizzo email principale dell'utente o uno degli indirizzi email alias dell'utente in userKey
. Per le proprietà di richiesta e risposta, consulta la documentazione di riferimento API.
POST https://admin.googleapis.com/admin/directory/v1/users/userKey/undelete
In questo esempio, l'eliminazione dell'utente liz@example.com viene annullata. Tutte le proprietà dell'account precedenti di questo utente vengono ripristinate:
POST https://admin.googleapis.com/admin/directory/v1/users/12309329403209438205/undelete
Una risposta corretta restituisce solo un codice di stato HTTP 204. Per visualizzare l'account dell'utente non eliminato, utilizza l'operazione Recupera un utente.