Получите информацию об установке и лицензировании приложения

В этом документе, на примере запросов к API Google Workspace Marketplace и ответов на них, показано, как получить информацию об установке и лицензировании приложений Google Workspace Marketplace.

Приложение устанавливается администратором.

Администратор cymbalgroup.com установил приложение для всех сотрудников организации.

userLicense.get request

Этот запрос вызывает метод userLicense.get для получения статуса лицензирования пользователя user1@cymbalgroup.com, чтобы определить, имеет ли он разрешение на использование приложения.

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

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

Ответный текст

Поскольку cymbalgroup.com установил приложение, в ответе возвращается ресурс userLicense для user1@cymbalgroup.com. Поле enabled ресурса userLicense установлено в true , что указывает на то, что администратор домена cymbalgroup.com активировал приложение для этого домена, а поле state установлено в ACTIVE , что указывает на то, что user1@cymbalgroup.com имеет действующую лицензию и ему должно быть разрешено использовать приложение.

{
  "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"
}

customerLicense.get request

Этот запрос вызывает метод customerLicense.get для получения статуса лицензирования cymbalgroup.com, чтобы определить, имеют ли они доступ к приложению.

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

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

Ответный текст

В ответе возвращается ресурс customerLicense для cymbalgroup.com, где поле state установлено в ACTIVE , что указывает на наличие у клиента действующей лицензии.

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

Приложение устанавливается администратором только для конкретного подразделения организации, к которому принадлежит пользователь.

Теперь приложение устанавливается администратором только для организационного подразделения (OU) пользователя user2@cymbalgroup.com. Оно больше не устанавливается администратором для всех сотрудников организации.

userLicense.get request

Этот запрос вызывает метод userLicense.get для получения статуса лицензирования пользователя user3@cymbalgroup.com, чтобы определить, имеет ли он разрешение на использование приложения.

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

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

Ответный текст

Поскольку приложение установлено администратором только для пользователя user2@cymbalgroup.com, в ответе возвращается ресурс userLicense для пользователя user3@cymbalgroup.com, в котором поле enabled установлено в значение false , что указывает на то, что администратор домена cymbalgroup.com не активировал приложение для этого домена, а поле state установлено в ACTIVE , что указывает на то, что у пользователя есть действующая лицензия и ему должно быть разрешено использовать приложение.

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

userLicense.get request

Этот запрос вызывает метод userLicense.get для получения статуса лицензирования пользователя user2@cymbalgroup.com, чтобы определить, имеет ли он разрешение на использование приложения.

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

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

Ответный текст

Поскольку приложение установлено администратором только для пользователя user2@cymbalgroup.com, в ответе возвращается ресурс userLicense для пользователя user2@cymbalgroup.com, у которого поле enabled установлено в true , а поле state — в 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"
}

Приложение удалено для всех сотрудников организации.

Несмотря на то, что приложение было удалено для всех сотрудников организации, пользователь user1@cymbalgroup.com по-прежнему имеет к нему доступ, поскольку ранее он установил его индивидуально.

userLicense.get request

Этот запрос вызывает метод userLicense.get для получения статуса лицензирования пользователя user2@cymbalgroup.com, чтобы определить, имеет ли он разрешение на использование приложения.

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

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

Ответный текст

Поскольку приложение было удалено для всех сотрудников организации, в ответе возвращается ресурс userLicense для пользователя user2@cymbalgroup.com, у которого поле enabled установлено в значение false , а поле state в значение UNLICENSED , что указывает на то, что администратор домена этого пользователя не назначил ему лицензию на использование приложения.

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

userLicense.get request

Этот запрос вызывает метод userLicense.get для получения статуса лицензирования пользователя user1@cymbalgroup.com, чтобы определить, имеет ли он разрешение на использование приложения.

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

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

Ответный текст

Поскольку пользователь user1@cymbalgroup.com ранее установил приложение самостоятельно, у него по-прежнему есть разрешение на его использование. В ответ возвращается ресурс userLicense , у которого поле enabled установлено в true , а поле state — в 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"
}