Questo documento descrive in che modo gli amministratori a livello di account e i rivenditori possono utilizzare l'API Enterprise License Manager per gestire le assegnazioni delle licenze agli utenti. Una volta abilitate le licenze SKU prodotto del tuo account e creati gli utenti, utilizza l'API Enterprise License Manager per assegnare, aggiornare, recuperare ed eliminare le licenze per gli utenti del tuo account.
In questa versione, l'API Enterprise License Manager viene utilizzata dagli amministratori dell'account e dei rivenditori. Anche gli amministratori delegati con il privilegio License Management
possono utilizzare l'API Enterprise License Manager.
Nota:l'API Enterprise License Manager viene utilizzata da un cliente Google. Per informazioni su come gli sviluppatori di applicazioni di terze parti di Google gestiscono le licenze, consulta l'API Google Workspace Marketplace.
L'API Enterprise License Manager si basa sull'approccio di progettazione RESTful (Representational State Transfer) per i servizi web.
Gestione delle licenze
Assegna una licenza
In precedenza, il cliente o il rivenditore ha ordinato licenze per i prodotti Google e ha creato l'utente. Per assegnare una di queste licenze di prodotto a questo utente, utilizza la seguente richiesta HTTP POST
. Includi l'intestazione Authorization
come descritto in Autorizzazione delle richieste. Per gli ID prodotto e SKU, consulta i prodotti e gli SKU disponibili dell'API:
POST https://www.googleapis.com/apps/licensing/v1/product/productId/sku/skuId/user
Nota:a un utente è possibile assegnare licenze per un'ampia gamma di prodotti Google diversi. Tuttavia, a un utente viene assegnata una sola licenza SKU per prodotto alla volta. Tramite l'API, la licenza SKU di un utente può essere riassegnata a una licenza SKU diversa all'interno del prodotto.
Questo esempio assegna lo SKU Google-Drive-storage-20GB all'utente il cui indirizzo email principale è alex@example.com:
POST https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-20GB/user
Il corpo della richiesta JSON:
{ "userId" : "alex@example.com", }
Una risposta riuscita restituisce un codice di stato HTTP 200
. Per i possibili codici di errore, consulta la sezione Codici di errore dell'API. In caso di esito positivo, la risposta restituisce lo stato dell'assegnazione delle licenze in formato di dati JSON.
Risposta JSON
{ "kind": "licensing#licenseAssignment", "etags": "etag value", "selfLink": "https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-20GB/user/alex@example.com", "userId": "alex@example.com", "productId": "Google-Drive-storage", "skuId": "Google-Drive-storage-20GB", "skuName": "Google Drive storage 20 GB", "productName": "Google Drive storage" }
Per ulteriori informazioni, consulta la pagina di riferimento del metodo insert di licenseAssignments.
Riassegnare lo SKU di un prodotto di un utente con uno SKU diverso nello stesso prodotto
Per riassegnare la licenza di un utente a un nuovo SKU della licenza all'interno dello stesso prodotto, utilizza la seguente richiesta HTTP PUT
. L'API supporta anche la sintassi delle patch. Includi l'intestazione Authorization
come descritto in Autorizzazione delle richieste. Per gli ID prodotto e SKU, consulta i prodotti e gli SKU disponibili dell'API:
PUT https://www.googleapis.com/apps/licensing/v1/product/productId/sku/the current skuId/user/user's email
In questo esempio, l'attuale SKU Google-Drive-storage-20GB viene aggiornato con Google-Drive-storage-50GB. Lo SKU della licenza attuale si trova nell'URI della richiesta e lo SKU della nuova licenza si trova nel corpo della richiesta:
PUT https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-20GB/user/alex@example.com
Il corpo della richiesta JSON contiene :
{ "kind": "licensing#licenseAssignment", "etags": "etag value", "selfLink": "https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-50GB/user/alex@example.com", "userId": "alex@example.com", "productId": "Google-Drive-storage", "skuId": "Google-Drive-storage-50GB", "skuName": "Google Drive storage 50 GB", "productName": "Google Drive storage" }
Una risposta riuscita restituisce un codice di stato HTTP 200
. Per i possibili codici di errore, consulta la sezione Codici di errore dell'API. Se l'esito è positivo, la risposta restituisce lo stato di assegnazione delle licenze nel formato dati JSON.
Risposta JSON
{ "kind": "licensing#licenseAssignment", "etags": "etag value", "selfLink": "https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-50GB/user/alex@example.com", "userId": "alex@example.com", "productId": "Google-Drive-storage", "skuId": "Google-Drive-storage-50GB", "skuName": "Google Drive storage 50 GB", "productName": "Google Drive storage" }
Per ulteriori informazioni, consulta le pagine di riferimento del metodo di aggiornamento e del metodo di patch di licenseAssignments.
Recuperare tutti gli utenti a cui sono state assegnate licenze per un prodotto specifico
Per ottenere tutte le licenze utente per un prodotto specifico, utilizza la seguente richiesta HTTP GET
. Includi l'intestazione Authorization
come descritto in Autorizzazione delle richieste. La stringa di query customerId
è il nome di dominio principale del cliente. La stringa di query maxResults
determina il numero di voci relative alle licenze utente restituite nella risposta dell'API:
GET https://www.googleapis.com/apps/licensing/v1/product/productId/users?customerId=primary domain name&maxResults=max results per page
Per gli ID prodotto e SKU, consulta i prodotti e gli SKU disponibili dell'API.
Questo esempio elenca la prima pagina di risultati per tutti gli utenti del dominio example.com a cui sono state assegnate licenze per il prodotto di spazio di archiviazione di Google Drive:
GET https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/users?customerId=example.com&maxResults=2
Una risposta riuscita restituisce un codice di stato HTTP 200
. Per possibili codici di errore, consulta la sezione Codici di errore dell'API. Se l'esito è positivo, la risposta restituisce l'elenco di licenze in formato JSON.
Risposta JSON
{ "kind" : "licensing#licenseAssignmentList", "etag": "etag value", "nextPageToken" : "the next page token value", "items": [ { "kind": "licensing#licenseAssignment", "etags": "etag value", "selfLink": "https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-50GB/user/alex@example.com", "userId": "alex@example.com", "productId": "Google-Drive-storage", "skuId": "Google-Drive-storage-50GB", "skuName": "Google Drive storage 50 GB", "productName": "Google Drive storage" }, { "kind": "licensing#licenseAssignment", "etags": "etag value", "selfLink": "https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-200GB/user/keshav@example.com", "userId": "keshav@example.com", "productId": "Google-Drive-storage", "skuId": "Google-Drive-storage-200GB", "skuName": "Google Drive storage 200 GB", "productName": "Google Drive storage" }, ... }
Per ulteriori informazioni, consulta la pagina di riferimento del metodo listForProduct di licenseAssignments.
Recuperare tutti gli utenti a cui sono state assegnate licenze per uno SKU del prodotto specifico
Per ottenere un elenco di tutti gli utenti con licenze per uno SKU di prodotto specifico, utilizza la seguente richiesta HTTP GET
. Includi l'intestazione Authorization
come descritto in Autorizzazione delle richieste. La stringa di query customerId
è il nome di dominio principale del cliente. La stringa di query maxResults
determina quante voci utente vengono restituite nella risposta dell'API:
GET https://www.googleapis.com/apps/licensing/v1/product/productId/sku/skuId/users?customerId=primary domain name&maxResults=max results per response page
Per gli ID prodotto e SKU, consulta i prodotti e gli SKU disponibili dell'API.
Questo esempio restituisce la prima pagina di tutti gli utenti del dominio example.com a cui è stata assegnata una licenza per lo SKU Google-Drive-storage-200GB. La risposta elenca due voci utente per pagina:
GET https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-200GB/users?customerId=example.com&maxResults=2
Una risposta riuscita restituisce un codice di stato HTTP 200
. Per i possibili codici di errore, consulta la sezione Codici di errore dell'API. In caso di esito positivo, la risposta restituisce l'elenco delle licenze in formato JSON.
Risposta JSON
{ "kind" : "licensing#licenseAssignmentList", "etag": "etag value", "nextPageToken" : "next page token's value", "items": [ { "kind": "licensing#licenseAssignment", "etags": "etag value", "selfLink": "https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-200GB/user/alex@example.com", "userId": "alex@example.com", "productId": "Google-Drive-storage", "skuId": "Google-Drive-storage-200GB", "skuName": "Google Drive storage 200 GB", "productName": "Google Drive storage" }, { "kind": "licensing#licenseAssignment", "etags": "etag value", "selfLink": "https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-200GB/user/mary@example.com", "userId": "mary@example.com", "productId": "Google-Drive-storage", "skuId": "Google-Drive-storage-200GB", "skuName": "Google Drive storage 200 GB", "productName": "Google Drive storage" }, ... }
Per ulteriori informazioni, consulta la pagina di riferimento del metodo listForProductAndSku di licenseAssignments.
Recuperare la licenza di un utente specifico in base allo SKU del prodotto
Per ottenere la licenza di un utente specifico in base allo SKU del prodotto, utilizza la seguente richiesta HTTP GET
. Includi l'intestazione Authorization
come descritto in Autorizzazione delle richieste. Per gli ID prodotto e SKU, consulta i prodotti e gli SKU disponibili dell'API:
GET https://www.googleapis.com/apps/licensing/v1/product/productId/sku/skuId/user/userId
Questo esempio recupera lo SKU del prodotto di spazio di archiviazione di Google Drive da 50 GB per l'utente il cui userId
è alex@example.com:
GET https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-50GB/user/alex@example.com
Se l'utente dispone di questa licenza, la risposta è positiva e viene visualizzato un 200
codice di stato HTTP. Per possibili codici di errore, consulta la sezione Codici di errore dell'API. Se l'esito è positivo, la risposta restituisce la licenza dell'utente in formato JSON.
Risposta JSON
{ "kind": "licensing#licenseAssignment", "etag": "etag value", "selfLink": "https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-50GB/user/alex@example.com", "userId": "keshav@example.com", "productId": "Google-Drive-storage", "skuId": "Google-Drive-storage-50GB", "skuName": "Google Drive storage 50 GB", "productName": "Google Drive storage" }
Per ulteriori informazioni, consulta la pagina di riferimento del metodo get licenseAssignments.
Eliminare una licenza
Per annullare l'assegnazione di una licenza a un utente, utilizza la seguente richiesta HTTP DELETE
. Includi l'intestazione Authorization
come descritto in Autorizzazione delle richieste. Per gli ID prodotto e SKU, consulta i prodotti e gli SKU disponibili dell'API:
DELETE https://www.googleapis.com/apps/licensing/v1/product/productId/sku/skuId/user/userId
In questo esempio, l'assegnazione della licenza Google-Drive-storage-50 GB è stata annullata dall'utente il cui userId
è alex@example.com:
DELETE https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-50GB/user/alex@example.com
Una risposta riuscita restituisce un codice di stato HTTP 200
. Per i possibili codici di errore, consulta la sezione Codici di errore dell'API.
Per ulteriori informazioni, consulta la pagina di riferimento del metodo di eliminazione licenseAssignments.
Codici di errore
Se la richiesta non va a buon fine, la risposta contiene una breve spiegazione dell'errore:
Codice di errore | Descrizione |
---|---|
400 | Richiesta non valida: indirizzo email utente non valido. |
400 | Richiesta non valida: lo SKU/il prodotto non esiste. |
401 | L'attore non dispone delle credenziali per chiamare questa API. |
404 | Se l'utente non dispone di questa licenza, la risposta avrà un codice di errore "non trovato". |
412 | Una precondizione non è stata soddisfatta. Per maggiori dettagli su questo errore, controlla il campo message . Ad esempio:
|
503 | Il servizio License Manager non è disponibile. |