App-Installations- und Lizenzierungsdetails abrufen

In diesem Leitfaden wird anhand von Beispielanfragen und Antworten von der Google Workspace Marketplace API erläutert, wie Sie Details zur Installation und Lizenzierung von Google Workspace Marketplace-Anwendungen abrufen.

Die App wurde noch nicht installiert

LicenseNotification.list-Anfrage

Diese Anfrage ruft die Methode licenseNotification.list auf, um eine Liste von Lizenzierungsbenachrichtigungen für eine bestimmte Anwendung abzurufen.

GET /appsmarket/v2/licenseNotification/{applicationId}

curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/licenseNotification/{applicationId}

Antworttext

Da die Anwendung noch nicht installiert wurde, enthält die Antwort auf diese Anfrage keine Lizenzbenachrichtigungen.

{
  "kind": "appsmarket#licenseNotificationList",
  "nextPageToken": ""
}

Die Anwendung wird einzeln installiert.

Der Nutzer nutzer1@domain1.com hat die Anwendung individuell aus dem Google Workspace Marketplace installiert.

LicenseNotification.list-Anfrage

Diese Anfrage ruft die Methode licenseNotification.list auf und ruft die Liste der Lizenzierungsbenachrichtigungen für die Anwendung ab, die vom Nutzer installiert wurde.

GET /appsmarket/v2/licenseNotification/{applicationId}

curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/licenseNotification/{applicationId}

Antworttext

Da nutzer1@domain1.com die Anwendung installiert hat, enthält die Antwort eine Lizenzbenachrichtigung. Die Lizenzbenachrichtigung enthält eine Bereitstellungsbenachrichtigung, da für nutzer1@domain1.com bei der Installation der Anwendung eine neue Lizenz bereitgestellt wurde.

{
  "kind": "appsmarket#licenseNotificationList",
  "notifications": [
    {
      "kind": "appsmarket#licenseNotification",
      "id": "{LICENSE_NOTIFICATION_ID}",
      "applicationId": "{APPLICATION_ID}",
      "customerId": "user1@domain1.com",
      "timestamp": "1641318266998",
      "provisions": [
        {
          "kind": "appsmarket#provisionNotification",
          "editionId": "default_edition",
          "seatCount": "1"
        }
      ]
    }
  ],
  "nextPageToken": "{NEXT_PAGE_TOKEN}"
}

Die App wurde vom Administrator installiert

Der Administrator von domain1.com hat die Anwendung für alle Nutzer in der Organisation installiert.

Anfrage userLicense.get

Diese Anfrage ruft die Methode userLicense.get auf, um den Lizenzierungsstatus von nutzer1@domain1.com abzurufen und festzustellen, ob der Nutzer die Berechtigung zur Verwendung der Anwendung hat.

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

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

Antworttext

Da der Administrator die Anwendung über domain1.com installiert hat, wird in der Antwort die Nutzerlizenz für nutzer1@domain1.com zurückgegeben, wobei enabled den Wert true hat, was darauf hinweist, dass der Domainadministrator für domain1.com die Anwendung für diese Domain aktiviert hat, und state auf ACTIVE gesetzt ist, was bedeutet, dass nutzer1@domain1.com eine gültige Lizenz hat und zur Verwendung der Anwendung berechtigt sein sollte.

{
  "kind": "appsmarket#userLicense",
  "enabled": true,
  "state": "ACTIVE",
  "editionId": "default_edition",
  "customerId": "user1@domain1.com",
  "applicationId": "{APPLICATION_ID}",
  "id": "{USER_LICENSE_ID}",
  "userId": "user1@domain1.com"
}

Anfrage customerLicense.get

Diese Anfrage ruft die Methode customerLicense.get auf, um den Lizenzierungsstatus von domain1.com abzurufen und festzustellen, ob der Nutzer Zugriff auf die Anwendung hat.

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

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

Antworttext

In der Antwort wird die Kundenlizenz für domain1.com zurückgegeben, wobei state den Wert ACTIVE hat. Damit wird angegeben, dass der Kunde eine gültige Lizenz hat.

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

Die Anwendung wurde nur vom Administrator für die Organisationseinheit (OE) eines bestimmten Nutzers installiert

Die Anwendung ist jetzt nur noch vom Administrator für die Organisationseinheit nutzer2@domain1.com installiert. Der Administrator wird nicht mehr für alle Nutzer in der Organisation installiert.

Anfrage userLicense.get

Diese Anfrage ruft die Methode userLicense.get auf, um den Lizenzierungsstatus von nutzer3@domain1.com abzurufen und festzustellen, ob der Nutzer die Berechtigung zur Verwendung der Anwendung hat.

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

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

Antworttext

Da die Anwendung nur für nutzer2@domain1.com vom Administrator installiert wurde, gibt die Antwort eine Nutzerlizenz für nutzer3@domain1.com zurück, wobei enabled den Wert false hat, was darauf hinweist, dass der Domainadministrator für domain1.com die Anwendung für diese Domain nicht aktiviert hat und dass state ACTIVE ist, was darauf hinweist, dass der Nutzer eine gültige Lizenz hat und die Anwendung verwenden darf.

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

Anfrage userLicense.get

Diese Anfrage ruft die Methode userLicense.get auf, um den Lizenzierungsstatus von nutzer2@domain1.com abzurufen und festzustellen, ob der Nutzer die Berechtigung zur Verwendung der Anwendung hat.

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

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

Antworttext

Da die Anwendung nur vom Administrator für nutzer2@domain1.com installiert wurde, gibt die Antwort eine Nutzerlizenz für nutzer2@domain1.com zurück, wobei enabled true und state ACTIVE ist.

{
  "kind": "appsmarket#userLicense",
  "enabled": true,
  "state": "ACTIVE",
  "editionId": "default_edition",
  "customerId": "domain1.com",
  "applicationId": "{APPLICATION_ID}",
  "id": "{USER_LICENSE_ID}",
  "userId": "user2@domain1.com"
}

Die App wird für alle Nutzer in der Organisation gelöscht

Die Anwendung wurde für alle Nutzer in der Organisation gelöscht. Der Nutzer nutzer1@domain1.com hat weiterhin Zugriff auf die Anwendung, da er sie zuvor einzeln installiert hat.

Anfrage userLicense.get

Diese Anfrage ruft die Methode userLicense.get auf, um den Lizenzierungsstatus von nutzer2@domain1.com abzurufen und festzustellen, ob der Nutzer die Berechtigung zur Verwendung der Anwendung hat.

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

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

Antworttext

Da die Anwendung für alle Nutzer in der Organisation gelöscht wurde, wird in der Antwort eine Nutzerlizenz für nutzer2@domain1.com zurückgegeben, wobei enabled false und state UNLICENSED ist. Dies bedeutet, dass der Administrator dieser Nutzerdomain diesem Nutzer keine Nutzerlizenz für die Anwendung zugewiesen hat.

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

Anfrage userLicense.get

Diese Anfrage ruft die Methode userLicense.get auf, um den Lizenzierungsstatus von nutzer1@domain1.com abzurufen und festzustellen, ob der Nutzer die Berechtigung zur Verwendung der Anwendung hat.

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

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

Antworttext

Da nutzer1@domain1.com die Anwendung zuvor individuell installiert hat, kann er sie weiterhin verwenden. In der Antwort wird eine Nutzerlizenz zurückgegeben, wobei enabled den Wert true und state den Wert ACTIVE hat.

{
  "kind": "appsmarket#userLicense",
  "enabled": true,
  "state": "ACTIVE",
  "editionId": "default_edition",
  "customerId": "user1@domain1.com",
  "applicationId": "{APPLICATION_ID}",
  "id": "{USER_LICENSE_ID}",
  "userId": "user1@domain1.com"
}

Lizenzbenachrichtigungen von allen oben genannten Aktionen

LicenseNotification.list-Anfrage

Eine Anfrage an die Methode licenseNotification.list ruft alle Lizenzierungsbenachrichtigungen für die Anwendung ab.

GET /appsmarket/v2/licenseNotification/{applicationId}

curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/licenseNotification/{applicationId}

Antworttext

Als Antwort wird eine Liste von Lizenzbenachrichtigungen für alle oben ausgeführten Aktionen zurückgegeben.

{
  "kind": "appsmarket#licenseNotificationList",
  "notifications": [
    {
      "kind": "appsmarket#licenseNotification",
      "id": "{LICENSE_NOTIFICATION_ID}",
      "applicationId": "{APPLICATION_ID}",
      "customerId": "user1@domain1.com",
      "timestamp": "1641318266998",
      "provisions": [
        {
          "kind": "appsmarket#provisionNotification",
          "editionId": "default_edition",
          "seatCount": "1"
        }
      ]
    },
    {
      "kind": "appsmarket#licenseNotification",
      "id": "{LICENSE_NOTIFICATION_ID}",
      "applicationId": "{APPLICATION_ID}",
      "customerId": "domain1.com",
      "timestamp": "1641318351038",
      "provisions": [
        {
          "kind": "appsmarket#provisionNotification",
          "editionId": "default_edition",
          "seatCount": "-1"
        }
      ]
    },
    {
      "kind": "appsmarket#licenseNotification",
      "id": "{LICENSE_NOTIFICATION_ID}",
      "applicationId": "{APPLICATION_ID}",
      "customerId": "domain1.com",
      "timestamp": "1641318858349",
      "deletes": [
        {
          "kind": "appsmarket#deleteNotification",
          "editionId": "default_edition",
        }
      ]
    },
  ],
  "nextPageToken": "{NEXT_PAGE_TOKEN}"
}