En este documento, se describe cómo los administradores de cuenta y de revendedores pueden usar la API de Enterprise License Manager para administrar las asignaciones de licencias de los usuarios. Una vez que se hayan habilitado las licencias de los SKU de los productos de tu cuenta y se hayan creado los usuarios, usa la API de Enterprise License Manager para asignar, actualizar, recuperar y borrar licencias para los usuarios de tu cuenta.
En esta versión, los administradores de cuentas y revendedores usan la API de Enterprise License Manager. Los administradores delegados con el privilegio License Management
también pueden usar la API de Enterprise License Manager.
Nota: Un cliente de Google usa la API de Enterprise License Manager. Para obtener información sobre cómo los desarrolladores de aplicaciones de terceros de Google administran las licencias, consulta la API de Google Workspace Marketplace.
La API de Enterprise License Manager se basa en el enfoque de diseño de transferencia de estado representacional (RESTful) para los servicios web.
Administración de licencias
Cómo asignar una licencia
Antes de esta operación, el cliente o revendedor ordenó licencias de productos de Google y creó al usuario. Para asignar una de estas licencias de productos a este usuario, usa la siguiente solicitud HTTP POST
. Incluye el encabezado Authorization
como se describe en Autoriza solicitudes. Para los IDs del producto y del SKU, consulta los productos y SKU de la API disponibles:
POST https://www.googleapis.com/apps/licensing/v1/product/productId/sku/skuId/user
Nota: A un usuario se le pueden asignar licencias para una amplia gama de productos de Google diferentes. Sin embargo, a un usuario solo se le asigna una licencia de SKU por producto a la vez. Con la API, la licencia de SKU de un usuario se puede reasignar a una licencia de SKU diferente dentro del producto.
En este ejemplo, se asigna el SKU Google-Drive-storage-20GB al usuario cuya dirección de correo electrónico principal es alex@example.com:
POST https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-20GB/user
El cuerpo de la solicitud JSON:
{ "userId" : "alex@example.com", }
Una respuesta correcta muestra un código de estado HTTP 200
. Para ver los posibles códigos de error, consulta los Códigos de error de la API. Si la solicitud se realiza correctamente, la respuesta muestra el estado de la asignación de licencias en formato de datos JSON.
Respuesta 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 obtener más información, consulta la página de referencia del método insert de licenseAssignments.
Reasigna el SKU del producto de un usuario con un SKU diferente en el mismo producto
Para reasignar la licencia de un usuario a un SKU de licencia nuevo dentro del mismo producto, usa la siguiente solicitud HTTP PUT
. La API también admite la sintaxis de parches. Incluye el encabezado Authorization
como se describe en Cómo autorizar solicitudes. Para obtener los IDs de productos y SKU, consulta los productos y SKUs disponibles de la API:
PUT https://www.googleapis.com/apps/licensing/v1/product/productId/sku/the current skuId/user/user's email
En este ejemplo, se actualiza el SKU Google-Drive-storage-20GB actual con Google-Drive-storage-50GB. El SKU de la licencia actual se encuentra en el URI de la solicitud y el SKU de la licencia nueva se encuentra en el cuerpo de la solicitud:
PUT https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-20GB/user/alex@example.com
El cuerpo de la solicitud JSON tiene lo siguiente :
{ "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 respuesta correcta muestra un código de estado HTTP 200
. Para ver los posibles códigos de error, consulta los Códigos de error de la API. Si la solicitud se realiza correctamente, la respuesta muestra el estado de la asignación de la licencia en formato de datos JSON.
Respuesta 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 obtener más información, consulta las páginas de referencia sobre el método de actualización y el método de parche de LicenseAssignments.
Cómo recuperar todos los usuarios a los que se les asignaron licencias para un producto específico
Para obtener todas las licencias de usuario de un producto específico, usa la siguiente solicitud HTTP GET
. Incluye el encabezado Authorization
como se describe en Cómo autorizar solicitudes. La cadena de consulta customerId
es el nombre de dominio principal del cliente. La cadena de consulta maxResults
determina cuántas entradas de licencia de usuario se muestran en la respuesta de la API:
GET https://www.googleapis.com/apps/licensing/v1/product/productId/users?customerId=primary domain name&maxResults=max results per page
Para los IDs de productos y SKU, consulta los productos y SKU de la API.
En este ejemplo, se muestra la primera página de resultados de todos los usuarios del dominio example.com, con licencias asignadas para el producto Google-Drive-storage:
GET https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/users?customerId=example.com&maxResults=2
Una respuesta correcta muestra un código de estado HTTP 200
. Para ver los posibles códigos de error, consulta los Códigos de error de la API. Si la solicitud se realiza correctamente, la respuesta muestra la lista de licencias en formato JSON.
Respuesta 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 obtener más información, consulta la página de referencia del método listForProduct de licenseAssignments.
Cómo recuperar las licencias asignadas a todos los usuarios para un SKU de producto específico
Para obtener una lista de todos los usuarios con licencias para un SKU de producto específico, usa la siguiente solicitud HTTP GET
. Incluye el encabezado Authorization
como se describe en Cómo autorizar solicitudes. La cadena de consulta customerId
es el nombre de dominio principal del cliente. La cadena de consulta maxResults
determina cuántas entradas de usuario se muestran en la respuesta de la 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 obtener los IDs de productos y SKU, consulta los productos y SKUs disponibles de la API.
En este ejemplo, se muestra la primera página de todos los usuarios del dominio example.com a los que se les asignó una licencia para el SKU Google-Drive-storage-200GB. La respuesta muestra dos entradas de usuario 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
Una respuesta correcta muestra un código de estado HTTP 200
. Para ver los posibles códigos de error, consulta los Códigos de error de la API. Si se realiza correctamente, la respuesta muestra la lista de licencias en formato JSON.
Respuesta 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 obtener más información, consulta la página de referencia del método listForProductAndSku de LicenseAssignments.
Recupera una licencia de usuario específica por SKU de producto
Para obtener la licencia de un usuario específico por SKU del producto, usa la siguiente solicitud HTTP GET
. Incluye el encabezado Authorization
como se describe en Cómo autorizar solicitudes. Para los IDs del producto y del SKU, consulta los productos y SKU de la API disponibles:
GET https://www.googleapis.com/apps/licensing/v1/product/productId/sku/skuId/user/userId
En este ejemplo, se obtiene el SKU del producto de almacenamiento de 50 GB de Google Drive para el usuario cuyo userId
es alex@example.com:
GET https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-50GB/user/alex@example.com
Si el usuario tiene esta licencia, es una respuesta correcta y un código de estado HTTP 200
. Para ver los posibles códigos de error, consulta los Códigos de error de la API. Si se ejecuta correctamente, la respuesta muestra la licencia del usuario en formato JSON.
Respuesta 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 obtener más información, consulta la página de referencia del método get de licenseAssignments.
Cómo borrar una licencia
Para anular la asignación de una licencia a un usuario, usa la siguiente solicitud HTTP DELETE
. Incluye el encabezado Authorization
como se describe en Cómo autorizar solicitudes. Para obtener los IDs de productos y SKU, consulta los productos y SKUs disponibles de la API:
DELETE https://www.googleapis.com/apps/licensing/v1/product/productId/sku/skuId/user/userId
En este ejemplo, la licencia Google-Drive-storage-50GB se asignó al usuario cuyo userId
es 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 respuesta correcta muestra un código de estado HTTP 200
. Para ver los posibles códigos de error, consulta los Códigos de error de la API.
Para obtener más información, consulta la página de referencia del método delete de licenseAssignments.
Códigos de error
Si la solicitud no se realiza correctamente, la respuesta tiene una breve explicación del error:
Código de error | Descripción |
---|---|
400 | Solicitud incorrecta: El correo electrónico del usuario no es válido. |
400 | Solicitud incorrecta: El SKU o el producto no existen. |
401 | El actor no tiene credenciales para llamar a esta API. |
404 | Si el usuario no tiene esta licencia, la respuesta tiene un código de error que indica que no se encontró. |
412 | No se cumplió una condición previa. Para obtener detalles sobre este error, consulta el campo message . Por ejemplo:
|
503 | El servicio de Administrador de licencias no está disponible. |