Ce document explique comment les administrateurs de compte et de revendeur peuvent utiliser l'API Enterprise License Manager pour gérer l'attribution de licences aux utilisateurs. Une fois que les licences des produits de votre compte ont été activées et que vos utilisateurs ont été créés, utilisez l'API Enterprise License Manager pour attribuer, mettre à jour, récupérer et supprimer des licences pour les utilisateurs de votre compte.
Dans cette version, l'API Enterprise License Manager est utilisée par les administrateurs de compte et de revendeur. Les administrateurs délégués disposant du droit License Management
peuvent également utiliser l'API Enterprise License Manager.
Remarque:L'API Enterprise License Manager est utilisée par un client Google. Pour en savoir plus sur la façon dont les développeurs d'applications tierces Google gèrent les licences, consultez la page sur l'API Google Workspace Marketplace.
L'API Enterprise License Manager est basée sur l'approche de conception Representational State Transfer (RESTful) pour les services Web.
Gérer les licences
Attribuer une licence
Avant cette opération, le client ou le revendeur a commandé des licences de produits Google et a créé l'utilisateur. Pour attribuer l'une de ces licences produit à cet utilisateur, utilisez la requête HTTP POST
suivante. Incluez l'en-tête Authorization
comme décrit dans la section Autoriser les requêtes. Pour obtenir les identifiants des produits et des SKU, consultez la liste des produits et SKU disponibles dans l'API:
POST https://www.googleapis.com/apps/licensing/v1/product/productId/sku/skuId/user
Remarque:Un utilisateur peut se voir attribuer des licences pour une large gamme de produits Google. Toutefois, un utilisateur ne se voit attribuer qu'une seule licence SKU à la fois par produit. Grâce à l'API, il est possible de réattribuer une licence SKU d'un utilisateur à une autre licence SKU au sein du produit.
Cet exemple attribue le SKU Google-Drive-storage-20 Go à l'utilisateur dont l'adresse e-mail principale est alex@example.com:
POST https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-20GB/user
Corps de la requête JSON:
{ "userId" : "alex@example.com", }
Les appels réussis renvoient un code d'état HTTP 200
. Pour connaître les codes d'erreur possibles, consultez la section Codes d'erreur de l'API. Si la requête aboutit, la réponse renvoie l'état d'attribution de licence au format de données JSON.
Réponse 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"
}
Pour en savoir plus, consultez la page de référence sur la méthode d'insertion de licenceAssignments.
Réattribuer le SKU d'un utilisateur à un autre SKU dans le même produit
Pour réattribuer la licence d'un utilisateur à un nouveau SKU pour le même produit, utilisez la requête HTTP PUT
suivante. L'API accepte également la syntaxe "patch". Incluez l'en-tête Authorization
comme décrit dans la section Autoriser les requêtes. Pour obtenir les identifiants des produits et des SKU, consultez la liste des produits et SKU disponibles dans l'API:
PUT https://www.googleapis.com/apps/licensing/v1/product/productId/sku/the current skuId/user/user's email
Dans cet exemple, le SKU Google-Drive-storage-20 Go actuel est remplacé par Google-Drive-storage-50 Go. Le SKU actuel se trouve dans l'URI de la requête et le nouveau SKU dans le corps de la requête:
PUT https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-20GB/user/alex@example.com
Le corps de la requête JSON comporte les éléments suivants :
{
"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"
}
Les appels réussis renvoient un code d'état HTTP 200
. Pour connaître les codes d'erreur possibles, consultez la section Codes d'erreur de l'API. Si la requête aboutit, la réponse renvoie l'état d'attribution de la licence au format de données JSON.
Réponse 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"
}
Pour en savoir plus, consultez les pages de référence de la méthode de mise à jour et de la méthode patch de LicenseAssignments.
Récupérer tous les utilisateurs disposant de licences pour un produit spécifique
Pour obtenir toutes les licences utilisateur d'un produit spécifique, utilisez la requête HTTP GET
suivante. Incluez l'en-tête Authorization
comme décrit dans la section Autoriser les requêtes. La chaîne de requête customerId
correspond au nom de domaine principal du client. La chaîne de requête maxResults
détermine le nombre d'entrées de licence utilisateur renvoyées dans la réponse de l'API:
GET https://www.googleapis.com/apps/licensing/v1/product/productId/users?customerId=primary domain name&maxResults=max results per page
Pour obtenir les identifiants des produits et des SKU, consultez la liste des produits et codes SKU disponibles dans l'API.
Dans cet exemple, la première page de résultats s'affiche pour tous les utilisateurs du domaine example.com disposant de licences pour le produit de stockage Google Drive:
GET https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/users?customerId=example.com&maxResults=2
Les appels réussis renvoient un code d'état HTTP 200
. Pour connaître les codes d'erreur possibles, consultez la section Codes d'erreur de l'API. Si la requête aboutit, la réponse renvoie la liste des licences au format JSON.
Réponse 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" }, ... }
Pour en savoir plus, consultez la page de référence de la méthode listForProduct de LicenseAssignments.
Récupérer tous les utilisateurs disposant de licences pour un SKU de produit spécifique
Pour obtenir la liste de tous les utilisateurs disposant de licences pour un SKU de produit spécifique, utilisez la requête HTTP GET
suivante. Incluez l'en-tête Authorization
comme décrit dans la section Autoriser les requêtes. La chaîne de requête customerId
correspond au nom de domaine principal du client. La chaîne de requête maxResults
détermine le nombre d'entrées utilisateur renvoyées dans la réponse de l'API:
GET https://www.googleapis.com/apps/licensing/v1/product/productId/sku/skuId/users?customerId=primary domain name&maxResults=max results per response page
Pour obtenir les identifiants des produits et des SKU, consultez la liste des produits et SKU disponibles dans l'API.
Cet exemple renvoie la première page de tous les utilisateurs du domaine example.com auxquels une licence a été attribuée pour le SKU Google-Drive-storage-200 Go. La réponse répertorie deux entrées utilisateur par page:
GET https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-200GB/users?customerId=example.com&maxResults=2
Les appels réussis renvoient un code d'état HTTP 200
. Pour connaître les codes d'erreur possibles, consultez la section Codes d'erreur de l'API. Si la requête aboutit, la réponse renvoie la liste des licences au format JSON.
Réponse 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" }, ... }
Pour plus d'informations, consultez la page de référence de la méthode numberForProductAndSku dans la section "licenseAssignments".
Récupérer la licence d'un utilisateur spécifique par SKU de produit
Pour obtenir la licence d'un utilisateur spécifique par SKU de produit, utilisez la requête HTTP GET
suivante. Incluez l'en-tête Authorization
comme décrit dans la section Autoriser les requêtes. Pour obtenir les identifiants des produits et des SKU, consultez la liste des produits et SKU disponibles dans l'API:
GET https://www.googleapis.com/apps/licensing/v1/product/productId/sku/skuId/user/userId
Dans cet exemple, le code SKU du produit d'espace de stockage Google Drive de 50 Go est récupéré pour l'utilisateur dont le userId
est 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 l'utilisateur dispose de cette licence, une réponse de réussite s'affiche et un code d'état HTTP 200
s'affiche. Pour connaître les codes d'erreur possibles, consultez la section Codes d'erreur de l'API. Si la requête aboutit, la réponse renvoie la licence de l'utilisateur au format JSON.
Réponse 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"
}
Pour plus d'informations, consultez la page de référence de la méthode get concernant la fonctionnalité LicenseAssignments.
Supprimer une licence
Pour retirer une licence à un utilisateur, utilisez la requête HTTP DELETE
suivante. Incluez l'en-tête Authorization
comme décrit dans la section Autoriser les requêtes. Pour obtenir les identifiants des produits et des SKU, consultez la liste des produits et SKU disponibles dans l'API:
DELETE https://www.googleapis.com/apps/licensing/v1/product/productId/sku/skuId/user/userId
Dans cet exemple, la licence Google-Drive-storage-50 Go n'est plus attribuée à l'utilisateur dont le userId
est alex@example.com:
DELETE https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-50GB/user/alex@example.com
Les appels réussis renvoient un code d'état HTTP 200
. Pour connaître les codes d'erreur possibles, consultez la section Codes d'erreur de l'API.
Pour en savoir plus, consultez la page de référence sur la méthode de suppression de licenceAssignments.
Codes d'erreur
Si la requête échoue, la réponse contient une brève explication de l'erreur:
Code d'erreur | Description |
---|---|
400 | Requête incorrecte - L'adresse e-mail de l'utilisateur n'est pas valide. |
400 | Requête incorrecte : le SKU/produit n'existe pas. |
401 | L'acteur ne dispose d'aucun identifiant pour appeler cette API. |
404 | Si l'utilisateur ne possède pas cette licence, la réponse affiche le code d'erreur "Introuvable". |
412 | Aucune condition préalable n'a été remplie. Pour en savoir plus sur cette erreur, consultez le champ message . Par exemple :
|
503 | Le service du gestionnaire de licences n'est pas disponible. |