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 de produtos da sua conta forem ativadas e os usuários forem criados, use a API Enterprise License Manager para atribuir, atualizar, recuperar e excluir licenças para os usuários da sua conta.
Nesta versão, a API Enterprise License Manager é usada por administradores de contas e revendedores. Os administradores
delegados 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. Para saber como os desenvolvedores de aplicativos de terceiros do Google gerenciam licenças, consulte a API Google Workspace Marketplace.
A API Enterprise License Manager é baseada na abordagem de design Transferência de Estado Representacional (RESTful) para serviços da Web.
Como gerenciar licenças
Atribuir uma licença
Antes dessa operação, o cliente ou revendedor encomendou 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 a um usuário para uma ampla variedade de produtos do Google. No entanto, um usuário recebe apenas uma licença de SKU por produto por vez. Ao usar a API, a licença de SKU de um usuário pode ser reatribuída a uma licença de SKU diferente no produto.
Neste exemplo, a SKU Google-Drive-storage-20GB é atribuída ao usuário cujo 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 possíveis códigos de erro, consulte os Códigos de erro da API. Se for 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 do método de inserção 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 uma nova SKU no mesmo produto, use a seguinte solicitação HTTP PUT
. A API também oferece suporte à 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 Google-Drive-storage-20GB atual com a Google-Drive-storage-50GB. A SKU da licença atual está no URI da solicitação, e a SKU da nova 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 for bem-sucedida, a resposta vai retornar o status da 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 do método de atualização e do método de patch de licenseAssignments.
Extrair as licenças atribuídas a todos os usuários para 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 do 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 para todos os usuários no domínio example.com com licenças atribuídas para o produto de armazenamento do Google Drive:
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 for bem-sucedida, a resposta vai 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 do método listForProduct de licenseAssignments.
Recuperar todas as licenças atribuídas aos usuários para um SKU de produto específico
Para conferir uma lista de todos os usuários com licenças para um SKU de 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 os produtos e SKUs disponíveis da API.
Este exemplo retorna a primeira página de todos os usuários no domínio example.com que receberam uma licença para a 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.
Extrair a licença de um usuário específico pelo SKU do produto
Para receber a licença de um usuário específico por SKU do 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 na API:
GET https://www.googleapis.com/apps/licensing/v1/product/productId/sku/skuId/user/userId
Este exemplo recebe o SKU do produto de armazenamento de 50 GB do Google Drive para o usuário cujo 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 possíveis códigos de erro, consulte os Códigos de erro da API. Se bem-sucedida, a resposta vai 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 do método get de licenseAssignments.
Excluir uma licença
Para remover 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 possíveis códigos de erro, consulte os Códigos de erro da API.
Para mais informações, consulte a página de referência do 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 | Bad Request: o 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á um código de erro "não encontrado". |
412 | Uma condição prévia não foi atendida. Para mais detalhes sobre esse erro, verifique o campo message . Exemplo:
|
503 | O serviço do Gerenciador de licenças não está disponível. |