Ce document explique comment les administrateurs au niveau du compte et les revendeurs peuvent utiliser l'API Enterprise License Manager pour gérer l'attribution des licences aux utilisateurs. Une fois que les licences des SKU de 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 comptes et de revendeurs. 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 savoir comment les développeurs d'applications tierces Google gèrent les licences, consultez 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
Auparavant, le client ou le revendeur a commandé des licences de produits Google et a créé l'utilisateur. Pour attribuer l'une de ces licences de produit à cet utilisateur, utilisez la requête HTTP POST
suivante. Incluez l'en-tête Authorization
comme décrit dans la section Autoriser des requêtes. Pour connaître les ID de produit et de SKU, consultez les 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 un large éventail de produits Google. Toutefois, un utilisateur ne peut être associé qu'à une seule licence SKU par produit à la fois. L'API permet de réattribuer la licence SKU d'un utilisateur à une autre licence du produit.
Cet exemple attribue le SKU Google-Drive-storage-20GB à 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", }
Une réponse réussie renvoie un code d'état HTTP 200
. Pour connaître les codes d'erreur possibles, consultez les codes d'erreur de l'API. Si la requête aboutit, la réponse renvoie l'état de l'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 insert de licenseAssignments.
Réattribuer un SKU de produit à un utilisateur avec un SKU différent dans le même produit
Pour réattribuer la licence d'un utilisateur à un nouveau SKU de licence dans le même produit, utilisez la requête HTTP PUT
suivante. L'API est également compatible avec la syntaxe de correctif. Incluez l'en-tête Authorization
comme décrit dans la section Autoriser les requêtes. Pour connaître les ID de produit et de SKU, consultez les 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
Cet exemple remplace le SKU Google-Drive-storage-20GB par Google-Drive-storage-50GB. Le SKU de la licence actuelle figure dans l'URI de la requête, et le SKU de la nouvelle licence figure 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 contient 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" }
Une réponse réussie renvoie 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 de l'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-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 sur la méthode update et la méthode patch de licenseAssignments.
Récupérer tous les utilisateurs auxquels des licences ont été attribuées 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 connaître les ID de produit et de SKU, consultez les produits et SKU disponibles dans l'API.
Cet exemple liste la première page de résultats pour tous les utilisateurs du domaine example.com auxquels des licences ont été attribuées pour le produit Google-Drive-storage:
GET https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/users?customerId=example.com&maxResults=2
Une réponse réussie renvoie un code d'état HTTP 200
. Pour connaître les codes d'erreur possibles, consultez les 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 d'une licence 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 ID des produits et des SKU, consultez la page 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-200GB. La réponse liste 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
Une réponse positive renvoie 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 en savoir plus, consultez la page de référence de la méthode listForProductAndSku de 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 connaître les ID de produit et de SKU, consultez les produits et SKU disponibles dans l'API:
GET https://www.googleapis.com/apps/licensing/v1/product/productId/sku/skuId/user/userId
Cet exemple obtient le SKU du produit de stockage Google Drive de 50 Go pour l'utilisateur dont l'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 possède cette licence, il s'agit d'une réponse positive et d'un code d'état HTTP 200
. Pour connaître les codes d'erreur possibles, consultez les 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 en savoir plus, consultez la page de référence de la méthode get pour 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 connaître les ID de produit et de SKU, consultez les 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-50GB est dissociée de l'utilisateur dont l'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
Une réponse réussie renvoie 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 delete de licenseAssignments.
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 : adresse e-mail de l'utilisateur non valide. |
400 | Requête incorrecte : l'article/le SKU n'existe pas. |
401 | L'acteur ne dispose pas des identifiants nécessaires pour appeler cette API. |
404 | Si l'utilisateur ne dispose pas de cette licence, la réponse contient un code d'erreur "introuvable". |
412 | Une condition préalable n'a pas été remplie. Pour en savoir plus sur cette erreur, consultez le champ message . Exemple :
|
503 | Le service License Manager n'est pas disponible. |