Obtén información sobre la instalación de la app y las licencias

En este documento, se proporcionan ejemplos de solicitudes y respuestas de la API de Google Workspace Marketplace para mostrar cómo obtener detalles sobre la instalación y las licencias de las apps de Google Workspace Marketplace.

El administrador instala la aplicación

El administrador de cymbalgroup.com instaló la aplicación para todos los miembros de la organización.

Solicitud userLicense.get

Esta solicitud llama al método userLicense.get para obtener el estado de la licencia de user1@cymbalgroup.com y determinar si tiene permiso para usar la aplicación.

GET /appsmarket/v2/userLicense/{applicationId}/{userId}

curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/userLicense/APPLICATION_ID/user1@cymbalgroup.com

Cuerpo de la respuesta

Dado que cymbalgroup.com instaló la aplicación, la respuesta devuelve el recurso userLicense para user1@cymbalgroup.com. El recurso userLicense tiene el campo enabled establecido en true, lo que indica que el administrador del dominio cymbalgroup.com activó la aplicación para este dominio, y el campo state establecido en ACTIVE, lo que indica que user1@cymbalgroup.com tiene una licencia válida y se le debe permitir usar la aplicación.

{
  "kind": "appsmarket#userLicense",
  "enabled": true,
  "state": "ACTIVE",
  "editionId": "default_edition",
  "customerId": "user1@cymbalgroup.com",
  "applicationId": "APPLICATION_ID",
  "id": "USER_LICENSE_ID",
  "userId": "user1@cymbalgroup.com"
}

Solicitud customerLicense.get

Esta solicitud llama al método customerLicense.get para obtener el estado de la licencia de cymbalgroup.com y determinar si tiene acceso a la aplicación.

GET /appsmarket/v2/customerLicense/{applicationId}/{customerId}

curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/customerLicense/APPLICATION_ID/cymbalgroup.com

Cuerpo de la respuesta

La respuesta devuelve el recurso customerLicense para cymbalgroup.com, en el que el campo state está establecido en ACTIVE, lo que indica que el cliente tiene una licencia válida.

{
  "kind": "appsmarket#customerLicense",
  "id": "CUSTOMER_LICENSE_ID",
  "applicationId": "APPLICATION_ID",
  "customerId": "cymbalgroup.com",
  "state": "ACTIVE",
  "editions": [
    {
      "editionId": "default_edition",
      "seatCount": -1
    }
  ]
}

La aplicación solo la instala el administrador para la unidad organizativa de un usuario específico.

Ahora, la aplicación solo se instala por el administrador para la unidad organizativa (UO) de user2@cymbalgroup.com. Ya no se instala para todos los miembros de la organización.

Solicitud userLicense.get

En esta solicitud, se llama al método userLicense.get para obtener el estado de la licencia de user3@cymbalgroup.com y determinar si tiene permiso para usar la aplicación.

GET /appsmarket/v2/userLicense/{applicationId}/{userId}

curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/userLicense/APPLICATION_ID/user3@cymbalgroup.com

Cuerpo de la respuesta

Dado que la aplicación solo se instaló para el administrador user2@cymbalgroup.com, la respuesta devuelve un recurso userLicense para user3@cymbalgroup.com que tiene el campo enabled establecido en false, lo que indica que el administrador del dominio cymbalgroup.com no activó la aplicación para este dominio, y el campo state establecido en ACTIVE, lo que indica que el usuario tiene una licencia válida y se le debe permitir usar la aplicación.

{
  "kind": "appsmarket#userLicense",
  "enabled": false,
  "state": "ACTIVE",
  "editionId": "default_edition",
  "customerId": "cymbalgroup.com",
  "applicationId": "APPLICATION_ID",
  "id": "USER_LICENSE_ID",
  "userId": "user3@cymbalgroup.com"
}

Solicitud userLicense.get

En esta solicitud, se llama al método userLicense.get para obtener el estado de la licencia de user2@cymbalgroup.com y determinar si tiene permiso para usar la aplicación.

GET /appsmarket/v2/userLicense/{applicationId}/{userId}

curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/userLicense/APPLICATION_ID/user2@cymbalgroup.com

Cuerpo de la respuesta

Dado que la aplicación solo se instaló para el administrador user2@cymbalgroup.com, la respuesta devuelve un recurso userLicense para user2@cymbalgroup.com que tiene el campo enabled establecido en true y el campo state establecido en ACTIVE.

{
  "kind": "appsmarket#userLicense",
  "enabled": true,
  "state": "ACTIVE",
  "editionId": "default_edition",
  "customerId": "cymbalgroup.com",
  "applicationId": "APPLICATION_ID",
  "id": "USER_LICENSE_ID",
  "userId": "user2@cymbalgroup.com"
}

Se borra la aplicación para todos los miembros de la organización.

Aunque la aplicación se borró para todos los miembros de la organización, user1@cymbalgroup.com aún tiene acceso porque la instaló de forma individual.

Solicitud userLicense.get

En esta solicitud, se llama al método userLicense.get para obtener el estado de la licencia de user2@cymbalgroup.com y determinar si tiene permiso para usar la aplicación.

GET /appsmarket/v2/userLicense/{applicationId}/{userId}

curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/userLicense/APPLICATION_ID/user2@cymbalgroup.com

Cuerpo de la respuesta

Dado que la aplicación se borró para todos los miembros de la organización, la respuesta devuelve un recurso userLicense para user2@cymbalgroup.com que tiene el campo enabled establecido en false y el campo state establecido en UNLICENSED, lo que indica que el administrador del dominio de este usuario no le asignó un asiento para la aplicación.

{
  "kind": "appsmarket#userLicense",
  "enabled": false,
  "state": "UNLICENSED",
  "applicationId": "APPLICATION_ID",
  "id": "USER_LICENSE_ID",
  "userId": "user2@cymbalgroup.com"
}

Solicitud userLicense.get

Esta solicitud llama al método userLicense.get para obtener el estado de la licencia de user1@cymbalgroup.com y determinar si tiene permiso para usar la aplicación.

GET /appsmarket/v2/userLicense/{applicationId}/{userId}

curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/userLicense/APPLICATION_ID/user1@cymbalgroup.com

Cuerpo de la respuesta

Dado que user1@cymbalgroup.com instaló la aplicación de forma individual anteriormente, aún tiene permiso para usarla. La respuesta devuelve un recurso userLicense que tiene el campo enabled establecido en true y el campo state establecido en ACTIVE.

{
  "kind": "appsmarket#userLicense",
  "enabled": true,
  "state": "ACTIVE",
  "editionId": "default_edition",
  "customerId": "user1@cymbalgroup.com",
  "applicationId": "APPLICATION_ID",
  "id": "USER_LICENSE_ID",
  "userId": "user1@cymbalgroup.com"
}