Enterprise License Manager API: Entwicklerhandbuch

In diesem Dokument wird beschrieben, wie Administratoren auf Kontoebene und Resellern die Enterprise License Manager API verwenden können, um die Lizenzzuweisungen von Nutzern zu verwalten. Sobald die Produkt-SKU-Lizenzen Ihres Kontos aktiviert und Ihre Nutzer erstellt wurden, verwenden Sie die Enterprise License Manager API, um den Nutzern Ihres Kontos Lizenzen zuzuweisen, zu aktualisieren, abzurufen und zu löschen.

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

Hinweis:Die Enterprise License Manager API wird von einem Google-Kunden verwendet. Informationen dazu, wie Entwickler von Drittanbieter-Apps 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 Lizenzen für Google-Produkte bestellt und den Nutzer erstellt. Verwenden Sie die folgende POST-HTTP-Anfrage, um diesem Nutzer eine dieser Produktlizenzen zuzuweisen. Fügen Sie den Authorization-Header wie unter Anfragen autorisieren beschrieben ein. Informationen zu Produkt- und Artikelnummer-IDs finden Sie unter Produkte und SKUs der API:

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

Hinweis: Einem Nutzer können Lizenzen für viele verschiedene Google-Produkte zugewiesen werden. Einem Nutzer wird jedoch immer nur eine Artikelnummer-Lizenz pro Produkt zugewiesen. Mithilfe der API kann die Artikelnummerlizenz eines Nutzers innerhalb des Produkts einer anderen SKU-Lizenz zugewiesen werden.

In diesem Beispiel wird dem Nutzer mit der primären E-Mail-Adresse alex@beispiel.de die SKU „Google-Drive-storage-20GB“ zugewiesen:

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

Der JSON-Anfragetext:

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

Bei einer erfolgreichen Antwort wird der HTTP-Statuscode 200 zurückgegeben. Mögliche Fehlercodes finden Sie unter Fehlercodes der API. 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 zu LicenseAssignments insert method.

Die Produkt-Artikelnummer eines Nutzers mit einer anderen Artikelnummer im selben Produkt neu zuweisen

Wenn du die Lizenz eines Nutzers einer neuen Artikelnummer innerhalb desselben Produkts zuweisen möchtest, verwende die folgende PUT-HTTP-Anfrage. Die API unterstützt auch die Patch-Syntax. Fügen Sie den Authorization-Header wie unter Anfragen autorisieren beschrieben ein. Informationen zu Produkt- und Artikelnummer-IDs finden Sie unter Produkte und SKUs der API:

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“ aktualisiert. Die aktuelle Artikelnummer befindet sich im URI der Anfrage und die neue Artikelnummer im Text der Anfrage:

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 Folgendes :

{
  "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 der HTTP-Statuscode 200 zurückgegeben. Mögliche Fehlercodes finden Sie unter Fehlercodes der API. Wenn der Vorgang erfolgreich war, wird der Lizenzzuweisungsstatus 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-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 Aktualisierungsmethode und zur Patchmethode von „LicenseAssignments“.

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

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

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

Produkt- und SKU-IDs finden Sie unter Produkte und SKUs der API.

In diesem Beispiel wird die erste Ergebnisseite für alle Nutzer in der Domain example.com angezeigt, die Lizenzen für das Google Drive-Speicherprodukt zugewiesen haben:

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

Bei einer erfolgreichen Antwort wird der HTTP-Statuscode 200 zurückgegeben. Mögliche Fehlercodes finden Sie unter Fehlercodes der API. Wenn der Vorgang erfolgreich war, wird in der Antwort die Lizenzierungsliste im JSON-Format zurückgegeben.

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 der LicenseAssignments-listForProduct-Methode.

Alle zugewiesenen Nutzerlizenzen für eine bestimmte Produkt-Artikelposition (SKU) abrufen

Mit der folgenden GET-HTTP-Anfrage können Sie eine Liste aller Nutzer mit Lizenzen für eine bestimmte Produkt-Artikelposition (SKU) abrufen. Fügen Sie den Authorization-Header wie unter Anfragen autorisieren beschrieben ein. Der Abfragestring customerId ist der primäre Domainname des Kunden. Mit dem Abfragestring maxResults wird festgelegt, wie viele Nutzereinträge in der Antwort der API 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 Artikelnummer-IDs finden Sie in den verfügbaren Produkten und SKUs der API

In diesem Beispiel wird die erste Seite aller Nutzer in der Domain example.com zurückgegeben, denen eine Lizenz für die Artikelnummer „Google-Drive-storage-200GB“ zugewiesen ist. In der Antwort werden zwei Nutzereinträge pro Seite aufgelistet:

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 der HTTP-Statuscode 200 zurückgegeben. Mögliche Fehlercodes finden Sie unter Fehlercodes der API. Wenn der Vorgang erfolgreich ist, wird in der Antwort die Lizenzierungsliste im JSON-Format zurückgegeben.

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 LicenseAssignments-listForProductAndSku-Methode.

Lizenz eines bestimmten Nutzers nach Produkt-SKU abrufen

Verwenden Sie die folgende GET-HTTP-Anfrage, um die Lizenz eines bestimmten Nutzers nach Produkt-SKU abzurufen. Fügen Sie den Authorization-Header wie unter Anfragen autorisieren beschrieben ein. Informationen zu Produkt- und Artikelnummer-IDs finden Sie unter Produkte und SKUs der API:

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

In diesem Beispiel wird die Produkt-SKU mit 50 GB Google Drive-Speicherplatz für den Nutzer mit der userId-Adresse alex@beispiel.de abgerufen:

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, erhält er eine erfolgreiche Antwort und der HTTP-Statuscode 200. Mögliche Fehlercodes finden Sie unter Fehlercodes der API. Wenn der Vorgang erfolgreich war, wird in der Antwort die Lizenz des Nutzers im JSON-Format zurückgegeben.

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 für LicenseAssignments get method.

Lizenz löschen

Wenn Sie einem Nutzer eine Lizenz entziehen möchten, verwenden Sie die folgende DELETE-HTTP-Anfrage. Fügen Sie den Authorization-Header wie unter Anfragen autorisieren beschrieben ein. Informationen zu Produkt- und Artikelnummer-IDs finden Sie unter Produkte und SKUs der API:

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

In diesem Beispiel wird die Zuweisung der Google-Drive-storage-50-GB-Lizenz für den Nutzer aufgehoben, dessen userId alex@beispiel.de lautet:

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. Mögliche Fehlercodes finden Sie unter Fehlercodes der API.

Weitere Informationen finden Sie auf der Referenzseite für LicenseAssignments zur Löschmethode.

Fehlercodes

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

Fehlercode Beschreibung
400 Ungültige Anfrage - Nutzer-E-Mail-Adresse ungültig.
400 Ungültige Anfrage – SKU/Produkt nicht vorhanden.
401 Der Nutzer hat keine Anmeldedaten zum Aufrufen dieser API.
404 Wenn der Nutzer diese Lizenz nicht hat, enthält die Antwort den Fehlercode „Nicht gefunden“.
412 Eine Voraussetzung ist 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 Lizenzmanager ist nicht verfügbar.