Este documento descreve como os administradores no nível da conta e do revendedor podem usar a API Enterprise License Manager para gerenciar as atribuições de licenças dos usuários. Depois que as licenças de SKU dos produtos da conta forem ativadas e os usuários forem criados, use a API Enterprise License Manager para atribuir, atualizar, recuperar e excluir as licenças dos usuários da sua conta.
Nesta versão, a API Enterprise License Manager é usada pelos administradores da conta e do revendedor. Delegada
os administradores com o privilégio License Management
também podem usar a API Enterprise License Manager.
Observação: a API Enterprise License Manager é usada por um cliente do Google. Saiba como os desenvolvedores de apps de terceiros do Google gerenciam as licenças na API Google Workspace Marketplace.
A API Enterprise License Manager é baseada na abordagem de design Representational State Transfer (RESTful) para serviços da Web.
Como gerenciar licenças
Atribuir uma licença
Antes da operação, o cliente ou revendedor pediu licenças de produtos do Google e criou o usuário. Para atribuir uma dessas licenças de produto a esse usuário, use a seguinte solicitação HTTP POST
. Inclua o cabeçalho Authorization
conforme descrito em Como autorizar solicitações. Para IDs de produtos e SKUs, consulte os Produtos e SKUs disponíveis na API:
POST https://www.googleapis.com/apps/licensing/v1/product/productId/sku/skuId/user
Observação:é possível atribuir licenças de vários produtos do Google a um usuário. No entanto, apenas uma licença de SKU por produto é atribuída a um usuário por vez. Ao usar a API, a licença SKU de um usuário pode ser reatribuída a outra licença dentro do produto.
Este exemplo atribui a SKU Google-Drive-storage-20GB ao usuário com o endereço de e-mail principal alex@example.com:
POST https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-20GB/user
O corpo da solicitação JSON:
{ "userId" : "alex@example.com", }
Uma resposta bem-sucedida retorna um código de status HTTP 200
. Para conferir os possíveis códigos de erro, consulte a seção Códigos de erro da API. Se bem-sucedida, a resposta vai retornar o status da atribuição de licenciamento no formato de dados JSON.
Resposta 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"
}
Para mais informações, consulte a página de referência insert method de LicenseAssignments.
Reatribuir a SKU do produto de um usuário com uma SKU diferente no mesmo produto
Para reatribuir a licença de um usuário a um novo SKU de licença no mesmo produto, use a seguinte solicitação HTTP PUT
. A API também é compatível com a sintaxe de patch. Inclua o cabeçalho Authorization
conforme descrito em Como autorizar solicitações. Para IDs de produtos e SKUs, consulte os Produtos e SKUs disponíveis na API:
PUT https://www.googleapis.com/apps/licensing/v1/product/productId/sku/the current skuId/user/user's email
Este exemplo atualiza a SKU atual do Google-Drive-storage-20 GB com a SKU Google-Drive-storage-50GB. A SKU de licença atual está no URI da solicitação, e a nova SKU de licença está no corpo da solicitação:
PUT https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-20GB/user/alex@example.com
O corpo da solicitação JSON tem :
{
"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"
}
Uma resposta bem-sucedida retorna um código de status HTTP 200
. Para conferir os possíveis códigos de erro, consulte a seção Códigos de erro da API. Se bem-sucedida, a resposta vai retornar o status de atribuição de licença no formato de dados JSON.
Resposta 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"
}
Para mais informações, consulte as páginas de referência método de atualização e método de patch de LicenseAssignments.
Recuperar todas as licenças atribuídas aos usuários de um produto específico
Para receber todas as licenças de usuário de um produto específico, use a seguinte solicitação HTTP GET
. Inclua o cabeçalho Authorization
conforme descrito em Como autorizar solicitações. A string de consulta customerId
é o nome de domínio principal do cliente. A string de consulta maxResults
determina quantas entradas de licença de usuário são retornadas na resposta da API:
GET https://www.googleapis.com/apps/licensing/v1/product/productId/users?customerId=primary domain name&maxResults=max results per page
Para IDs de produtos e SKUs, consulte os Produtos e SKUs disponíveis na API.
Este exemplo lista a primeira página de resultados de todos os usuários com licenças atribuídas ao domínio example.com para o produto Google-Drive-storage:
GET https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/users?customerId=example.com&maxResults=2
Uma resposta bem-sucedida retorna um código de status HTTP 200
. Para conferir os possíveis códigos de erro, consulte a seção Códigos de erro da API. Se bem-sucedida, a resposta retornará a lista de licenciamento no formato JSON.
Resposta 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" }, ... }
Para mais informações, consulte a página de referência listForProduct method de LicenseAssignments.
Recuperar todas as licenças atribuídas aos usuários para um SKU de produto específico
Para ver uma lista de todos os usuários com licenças da SKU de um produto específico, use a seguinte solicitação HTTP GET
. Inclua o cabeçalho Authorization
conforme descrito em Como autorizar solicitações. A string de consulta customerId
é o nome de domínio principal do cliente. A string de consulta maxResults
determina quantas entradas de usuário são retornadas na resposta da API:
GET https://www.googleapis.com/apps/licensing/v1/product/productId/sku/skuId/users?customerId=primary domain name&maxResults=max results per response page
Para IDs de produtos e SKUs, consulte a página Produtos e SKUs disponíveis na API.
Este exemplo retorna a primeira página de todos os usuários no domínio example.com com uma licença atribuída à SKU Google-Drive-storage-200GB. A resposta lista duas entradas de usuário por página:
GET https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-200GB/users?customerId=example.com&maxResults=2
Uma resposta bem-sucedida retorna um código de status HTTP 200
. Para conferir os possíveis códigos de erro, consulte a seção Códigos de erro da API. Se bem-sucedida, a resposta retornará a lista de licenciamento no formato JSON.
Resposta 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" }, ... }
Para mais informações, consulte a página de referência do método listForProductAndSku de LicenseAssignments.
Recuperar a licença de um usuário específico por SKU de produto
Para receber a licença de um usuário específico por SKU de produto, use a seguinte solicitação HTTP GET
. Inclua o cabeçalho Authorization
conforme descrito em Como autorizar solicitações. Para IDs de produtos e SKUs, consulte os Produtos e SKUs disponíveis da API:
GET https://www.googleapis.com/apps/licensing/v1/product/productId/sku/skuId/user/userId
Este exemplo mostra a SKU do produto de 50 GB do armazenamento no Google Drive para o usuário com 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 o usuário tiver essa licença, será uma resposta bem-sucedida e um código de status HTTP 200
. Para conferir os possíveis códigos de erro, consulte a seção Códigos de erro da API. Se bem-sucedida, a resposta retornará a licença do usuário no formato JSON.
Resposta 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"
}
Para mais informações, consulte a página de referência get method de LicenseAssignments.
Excluir uma licença
Para cancelar a atribuição de uma licença de um usuário, use a seguinte solicitação HTTP DELETE
. Inclua o cabeçalho Authorization
conforme descrito em Como autorizar solicitações. Para IDs de produtos e SKUs, consulte os Produtos e SKUs disponíveis da API:
DELETE https://www.googleapis.com/apps/licensing/v1/product/productId/sku/skuId/user/userId
Neste exemplo, a licença do Google-Drive-storage-50 GB não é atribuída ao usuário cujo 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
Uma resposta bem-sucedida retorna um código de status HTTP 200
. Para conferir os possíveis códigos de erro, consulte a seção Códigos de erro da API.
Para mais informações, consulte a página de referência método de exclusão de LicenseAssignments.
Códigos de erro
Se a solicitação não for bem-sucedida, a resposta terá uma breve explicação do erro:
Código do erro | Descrição |
---|---|
400 | Solicitação inválida - E-mail do usuário inválido. |
400 | Solicitação inválida: SKU/produto não existe. |
401 | O ator não tem credenciais para chamar essa API. |
404 | Se o usuário não tiver essa licença, a resposta terá a mensagem "não encontrado" código de erro. |
412 | Uma pré-condição não foi atendida. Para mais detalhes sobre esse erro, verifique o campo message . Exemplo:
|
503 | O serviço do License Manager não está disponível. |