Obtenir des informations sur l'installation d'une application et les licences

En fournissant des exemples de requêtes et de réponses de l' API Google Workspace Marketplace, ce document explique comment obtenir des informations sur l'installation et les licences des applications Google Workspace Marketplace.

L'application est installée par un administrateur.

L'administrateur de cymbalgroup.com a installé l'application pour tous les membres de l'organisation.

Requête userLicense.get

Cette requête appelle la méthode userLicense.get pour obtenir l'état des licences de user1@cymbalgroup.com et déterminer s'il est autorisé à utiliser l'application.

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

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

Corps de la réponse

Étant donné que cymbalgroup.com a installé l'application, la réponse renvoie la ressource userLicense pour user1@cymbalgroup.com. La ressource userLicense comporte le champ enabled défini sur true, ce qui indique que l'administrateur du domaine cymbalgroup.com a activé l'application pour ce domaine, et le champ state défini sur ACTIVE, ce qui indique que user1@cymbalgroup.com dispose d'une licence valide et doit être autorisé à utiliser l'application.

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

Requête customerLicense.get

Cette requête appelle la méthode customerLicense.get pour obtenir l'état de licence de cymbalgroup.com et déterminer si l'utilisateur a accès à l'application.

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

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

Corps de la réponse

La réponse renvoie la ressource customerLicense pour cymbalgroup.com, où le champ state est défini sur ACTIVE, ce qui indique que le client dispose d'une licence valide.

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

L'application n'est installée par l'administrateur que pour l'unité organisationnelle d'un utilisateur spécifique.

L'application n'est désormais installée par l'administrateur que pour l'unité organisationnelle (UO) de user2@cymbalgroup.com. Elle n'est plus installée par l'administrateur pour tous les membres de l'organisation.

Requête userLicense.get

Cette requête appelle la méthode userLicense.get pour obtenir l'état de licence de user3@cymbalgroup.com et déterminer s'il est autorisé à utiliser l'application.

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

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

Corps de la réponse

Étant donné que l'application n'est installée que par l'administrateur pour user2@cymbalgroup.com, la réponse renvoie une ressource userLicense pour user3@cymbalgroup.com dont le champ enabled est défini sur false, ce qui indique que l'administrateur de domaine pour cymbalgroup.com n'a pas activé l'application pour ce domaine, et le champ state est défini sur ACTIVE, ce qui indique que l'utilisateur dispose d'une licence valide et devrait être autorisé à utiliser l'application.

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

Requête userLicense.get

Cette requête appelle la méthode userLicense.get pour obtenir l'état de licence de user2@cymbalgroup.com et déterminer s'il est autorisé à utiliser l'application.

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

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

Corps de la réponse

Étant donné que l'application n'est installée par l'administrateur que pour user2@cymbalgroup.com, la réponse renvoie une ressource userLicense pour user2@cymbalgroup.com dont le champ enabled est défini sur true et le champ state sur 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"
}

L'application est supprimée pour tous les membres de l'organisation.

Même si l'application a été supprimée pour tous les membres de l'organisation, l'utilisateur user1@cymbalgroup.com y a toujours accès, car il l'avait installée individuellement.

Requête userLicense.get

Cette requête appelle la méthode userLicense.get pour obtenir l'état de licence de user2@cymbalgroup.com et déterminer s'il est autorisé à utiliser l'application.

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

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

Corps de la réponse

Étant donné que l'application a été supprimée pour tous les membres de l'organisation, la réponse renvoie une ressource userLicense pour user2@cymbalgroup.com dont le champ enabled est défini sur false et le champ state sur UNLICENSED. Cela indique que l'administrateur du domaine de cet utilisateur ne lui a pas attribué de licence pour l'application.

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

Requête userLicense.get

Cette requête appelle la méthode userLicense.get pour obtenir l'état des licences de user1@cymbalgroup.com et déterminer s'il est autorisé à utiliser l'application.

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

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

Corps de la réponse

Comme user1@cymbalgroup.com a déjà installé l'application individuellement, il est toujours autorisé à l'utiliser. La réponse renvoie une ressource userLicense dont le champ enabled est défini sur true et le champ state sur 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"
}