Enterprise License Manager API: Entwicklerhandbuch

In diesem Dokument wird beschrieben, wie Administratoren auf Kontoebene und Reseller-Administratoren die Enterprise License Manager API verwenden können, um die Lizenzzuweisungen von Nutzern zu verwalten. Sobald die Lizenzen für die Produkt-SKUs Ihres Kontos aktiviert und Ihre Nutzer erstellt wurden, können Sie mit der Enterprise License Manager API Lizenzen für die Nutzer Ihres Kontos zuweisen, aktualisieren, abrufen und löschen.

In dieser Version wird die Enterprise License Manager API von Konto- und Reselleradministratoren verwendet. Delegierte Administratoren mit der Berechtigung License Management können auch die Enterprise License Manager API verwenden.

Hinweis:Die Enterprise License Manager API wird von einem Google-Kunden verwendet. Informationen dazu, wie Entwickler von Drittanbieteranwendungen von Google Lizenzen verwalten, finden Sie unter Google Workspace Marketplace API.

Die Enterprise License Manager API basiert auf dem Designansatz Representational State Transfer (RESTful) für Webdienste.

Lizenzen verwalten

Lizenz zuweisen

Vor diesem Vorgang hat der Kunde oder Reseller Google-Produktlizenzen bestellt und den Nutzer erstellt. Um diesem Nutzer eine dieser Produktlizenzen zuzuweisen, verwende die folgende POST-HTTP-Anfrage. Fügen Sie den Header Authorization wie unter Anfragen autorisieren beschrieben ein. Informationen zu Produkt- und Artikelnummer-IDs finden Sie unter Produkte und Artikelnummern, die für die API verfügbar sind:

POST https://www.googleapis.com/apps/licensing/v1/product/productId/sku/skuId/user

Hinweis:Nutzern können Lizenzen für eine Vielzahl verschiedener Google-Produkte zugewiesen werden. Einem Nutzer wird jedoch jeweils nur eine Artikelnummern-Lizenz pro Produkt zugewiesen. Mit der API kann die SKU-Lizenz eines Nutzers einer anderen SKU-Lizenz innerhalb des Produkts neu zugewiesen werden.

In diesem Beispiel wird die Google Drive-Speicher-20 GB-SKU dem Nutzer zugewiesen, dessen primäre E-Mail-Adresse alex@beispiel.de lautet:

POST https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-20GB/user

JSON-Anfragetext:

{
  "userId" : "alex@example.com",
}

Bei einer erfolgreichen Antwort wird der HTTP-Statuscode 200 zurückgegeben. Eine Liste der möglichen Fehlercodes finden Sie unter Fehlercodes. Wenn der Vorgang erfolgreich war, wird in der Antwort der Status der Lizenzzuweisung im JSON-Datenformat zurückgegeben.

JSON-Antwort

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

Weitere Informationen finden Sie auf der Referenzseite zur Methode „insert“ für „licenseAssignments“.

Produkt-SKU eines Nutzers einer anderen SKU im selben Produkt neu zuweisen

Wenn Sie die Lizenz eines Nutzers einer neuen Lizenz-SKU im selben Produkt neu zuweisen möchten, verwenden Sie die folgende PUT-HTTP-Anfrage. Die API unterstützt auch die Patch-Syntax. Fügen Sie den Header Authorization wie unter Anfragen autorisieren beschrieben ein. Produkt- und Artikelnummern-IDs finden Sie unter Verfügbare Produkte und Artikelnummern:

PUT https://www.googleapis.com/apps/licensing/v1/product/productId/sku/the current skuId/user/user's email

In diesem Beispiel wird die aktuelle SKU „Google-Drive-storage-20GB“ durch „Google-Drive-storage-50GB“ ersetzt. Die aktuelle Lizenz-SKU befindet sich im URI der Anfrage und die neue Lizenz-SKU im Anfragetext:

PUT https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-20GB/user/alex@example.com

Der JSON-Anfragetext enthält :

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

Bei einer erfolgreichen Antwort wird ein 200-HTTP-Statuscode zurückgegeben. Eine Liste der möglichen Fehlercodes finden Sie unter Fehlercodes. Bei Erfolg gibt die Antwort den Lizenzzuweisungsstatus im JSON-Datenformat zurück.

JSON-Antwort

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

Weitere Informationen finden Sie auf den Referenzseiten zur Update-Methode und zur Patch-Methode für „licenseAssignments“.

Alle Nutzer abrufen, denen Lizenzen für ein bestimmtes Produkt zugewiesen wurden

Mit der folgenden GET-HTTP-Anfrage kannst du alle Nutzerlizenzen für ein bestimmtes Produkt abrufen. Fügen Sie den Header Authorization ein, wie unter Anfragen autorisieren beschrieben. Der customerId-Suchstring ist der primäre Domainname des Kunden. Mit dem Abfragestring maxResults wird festgelegt, wie viele Nutzerlizenzeinträge in der API-Antwort zurückgegeben werden:

GET https://www.googleapis.com/apps/licensing/v1/product/productId/users?customerId=primary domain name&maxResults=max results per page

Informationen zu Produkt- und Artikelnummer-IDs finden Sie unter Produkte und Artikelnummern, die in der API verfügbar sind.

In diesem Beispiel wird die erste Seite der Ergebnisse für alle Nutzer in der Domain beispiel.de aufgeführt, denen Lizenzen für das Google Drive-Speicherprodukt zugewiesen wurden:

GET https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/users?customerId=example.com&maxResults=2

Bei einer erfolgreichen Antwort wird ein 200-HTTP-Statuscode zurückgegeben. Mögliche Fehlercodes finden Sie unter Fehlercodes der API. Bei Erfolg gibt die Antwort die Lizenzierungsliste im JSON-Format zurück.

JSON-Antwort

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

Weitere Informationen finden Sie auf der Referenzseite zur Methode „listForProduct“ von „licenseAssignments“.

Alle Nutzer abrufen, denen Lizenzen für eine bestimmte Produkt-SKU zugewiesen sind

Mit der folgenden GET-HTTP-Anfrage kannst du eine Liste aller Nutzer mit Lizenzen für eine bestimmte Produkt-SKU abrufen. Fügen Sie den Header Authorization wie unter Anfragen autorisieren beschrieben ein. Der customerId-Suchstring ist der primäre Domainname des Kunden. Über den maxResults-Suchstring wird festgelegt, wie viele Nutzereinträge in der API-Antwort zurückgegeben werden:

GET https://www.googleapis.com/apps/licensing/v1/product/productId/sku/skuId/users?customerId=primary domain name&maxResults=max results per response page

Produkt- und SKU-IDs finden Sie in den verfügbaren Produkten und SKUs der API.

In diesem Beispiel wird die erste Seite aller Nutzer in der Domain beispiel.de zurückgegeben, denen eine Lizenz für die Artikelnummer „Google Drive-Speicher-200 GB“ zugewiesen ist. Die Antwort enthält zwei Nutzereinträge pro Seite:

GET https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-200GB/users?customerId=example.com&maxResults=2

Bei einer erfolgreichen Antwort wird ein 200-HTTP-Statuscode zurückgegeben. Eine Liste der möglichen Fehlercodes finden Sie unter Fehlercodes. Bei Erfolg gibt die Antwort die Lizenzierungsliste im JSON-Format zurück.

JSON-Antwort

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

Weitere Informationen finden Sie auf der Referenzseite der listForProductAndSku-Methode für LicenseAssignments.

Lizenz eines bestimmten Nutzers nach Produkt-SKU abrufen

Wenn du die Lizenz eines bestimmten Nutzers anhand der Produkt-SKU abrufen möchtest, verwende die folgende GET-HTTP-Anfrage. Fügen Sie den Header Authorization wie unter Anfragen autorisieren beschrieben ein. Produkt- und Artikelnummern-IDs finden Sie unter Verfügbare Produkte und Artikelnummern:

GET https://www.googleapis.com/apps/licensing/v1/product/productId/sku/skuId/user/userId

In diesem Beispiel wird die Google Drive-Speicherplatz-Artikelnummer für 50 GB für den Nutzer abgerufen, dessen userId alex@beispiel.de lautet:

GET https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-50GB/user/alex@example.com

Wenn der Nutzer diese Lizenz hat, ist die Antwort erfolgreich und es wird der 200 HTTP-Statuscode zurückgegeben. Eine Liste der möglichen Fehlercodes finden Sie unter Fehlercodes. Bei Erfolg gibt die Antwort die Lizenz des Nutzers im JSON-Format zurück.

JSON-Antwort

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

Weitere Informationen finden Sie auf der Referenzseite zur get-Methode für „licenseAssignments“.

Lizenz löschen

Wenn du eine Lizenz von einem Nutzer entziehen möchtest, verwende die folgende DELETE-HTTP-Anfrage. Fügen Sie den Header Authorization ein, wie unter Anfragen autorisieren beschrieben. Produkt- und Artikelnummern-IDs finden Sie unter Verfügbare Produkte und Artikelnummern:

DELETE https://www.googleapis.com/apps/licensing/v1/product/productId/sku/skuId/user/userId

In diesem Beispiel wird die Lizenz „Google Drive-Speicherplatz-50 GB“ dem Nutzer mit der userId „alex@beispiel.de“ entzogen:

DELETE https://www.googleapis.com/apps/licensing/v1/product/Google-Drive-storage/sku/Google-Drive-storage-50GB/user/alex@example.com

Bei einer erfolgreichen Antwort wird der HTTP-Statuscode 200 zurückgegeben. Eine Liste der möglichen Fehlercodes finden Sie unter Fehlercodes.

Weitere Informationen finden Sie auf der Referenzseite zur Methode „delete“ für „licenseAssignments“.

Fehlercodes

Wenn die Anfrage nicht erfolgreich ist, enthält die Antwort eine kurze Erklärung des Fehlers:

Fehlercode Beschreibung
400 Ungültige Anfrage - E-Mail-Adresse des Nutzers ist ungültig.
400 Ungültige Anfrage – Artikelnummer/Produkt ist nicht vorhanden.
401 Der Akteur hat keine Anmeldedaten, um diese API aufzurufen.
404 Wenn der Nutzer diese Lizenz nicht hat, enthält die Antwort den Fehlercode „nicht gefunden“.
412 Eine Vorbedingung wurde nicht erfüllt. Details zu diesem Fehler finden Sie im Feld message. Beispiel:
  • Auto License switching is not allowed.
  • Auto License un-assignment is not allowed.
  • For reassign operations, the new SKU should be different from the old SKU: sku
  • Reassign operation can't be performed on different products: product1, product2
  • Reassign operation can't be performed on different users: user1, user2
  • There aren't enough available licenses for the specified product-SKU pair
  • User already has a license for the specified product and SKU
  • User already has a license of the product, but with a different SKU. To reassign a new SKU for this product, use the 'update' operation.
503 Der License Manager-Dienst ist nicht verfügbar.