In diesem Leitfaden wird anhand von Beispielanfragen und ‑antworten der Google Workspace Marketplace API gezeigt, wie Sie Installations- und Lizenzierungsdetails von Google Workspace Marketplace-Apps abrufen.
Die Anwendung wurde noch nicht installiert
licenseNotification.list-Anfrage
Mit dieser Anfrage wird die Methode licenseNotification.list
aufgerufen, 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
Ein Nutzer, user1@domain1.com, hat die Anwendung individuell über den Google Workspace Marketplace installiert.
licenseNotification.list-Anfrage
Mit dieser Anfrage wird die Methode licenseNotification.list
aufgerufen und die Liste der Lizenzierungsbenachrichtigungen für die Anwendung abgerufen, 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 user1@domain1.com die Anwendung installiert hat, enthält die Antwort eine Lizenzbenachrichtigung. Die Lizenzbenachrichtigung enthält eine Bereitstellungsbenachrichtigung, da für user1@domain1.com beim Installieren 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 Anwendung wurde vom Administrator installiert
Der Administrator von domain1.com hat die Anwendung für alle Nutzer in der Organisation installiert.
userLicense.get-Anfrage
Mit dieser Anfrage wird die Methode userLicense.get
aufgerufen, um den Lizenzierungsstatus von user1@domain1.com abzurufen und festzustellen, ob der Nutzer berechtigt ist, die Anwendung zu verwenden.
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 für domain1.com installiert hat, wird in der Antwort die Nutzerlizenz für user1@domain1.com zurückgegeben, wobei enabled
gleich true
ist. Das bedeutet, dass der Domainadministrator für domain1.com die Anwendung für diese Domain aktiviert hat. state
ist gleich ACTIVE
, was bedeutet, dass user1@domain1.com eine gültige Lizenz hat und die Anwendung verwenden darf.
{
"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"
}
customerLicense.get-Anfrage
Mit dieser Anfrage wird die Methode customerLicense.get
aufgerufen, um den Lizenzierungsstatus von domain1.com abzurufen und festzustellen, ob die Nutzer Zugriff auf die Anwendung haben.
GET /appsmarket/v2/customerLicense/{applicationId}/{customerId}
curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/customerLicense/{applicationId}/domain1.com
Antworttext
Die Antwort gibt die Kundenlizenz für domain1.com zurück, wobei state
gleich ACTIVE
ist. Das bedeutet, 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 wird nur für die Organisationseinheit (OE) eines bestimmten Nutzers vom Administrator installiert.
Die Anwendung wird jetzt nur noch für die Organisationseinheit von user2@domain1.com installiert. Sie wird nicht mehr für alle Nutzer in der Organisation vom Administrator installiert.
userLicense.get-Anfrage
Mit dieser Anfrage wird die userLicense.get
-Methode aufgerufen, um den Lizenzierungsstatus von user3@domain1.com abzurufen und festzustellen, ob der Nutzer die Berechtigung hat, die Anwendung zu verwenden.
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 user2@domain1.com vom Administrator installiert wurde, wird in der Antwort eine Nutzerlizenz für user3@domain1.com zurückgegeben, wobei enabled
gleich false
ist. Das bedeutet, dass der Domainadministrator für domain1.com die Anwendung für diese Domain nicht aktiviert hat. state
ist gleich ACTIVE
, was bedeutet, 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"
}
userLicense.get-Anfrage
Mit dieser Anfrage wird die Methode userLicense.get
aufgerufen, um den Lizenzierungsstatus von user2@domain1.com abzurufen und festzustellen, ob der Nutzer berechtigt ist, die Anwendung zu verwenden.
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 für user2@domain1.com vom Administrator installiert wurde, wird in der Antwort eine Nutzerlizenz für user2@domain1.com zurückgegeben, wobei enabled
gleich true
und state
gleich 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 Anwendung wird für alle Nutzer in der Organisation gelöscht.
Die Anwendung wurde für alle Nutzer in der Organisation gelöscht. Der Nutzer user1@domain1.com hat weiterhin Zugriff auf die Anwendung, da er sie zuvor individuell installiert hat.
userLicense.get-Anfrage
Mit dieser Anfrage wird die Methode userLicense.get
aufgerufen, um den Lizenzierungsstatus von user2@domain1.com abzurufen und festzustellen, ob der Nutzer berechtigt ist, die Anwendung zu verwenden.
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 user2@domain1.com zurückgegeben, wobei enabled
gleich false
und state
gleich UNLICENSED
ist. Das bedeutet, dass der Administrator der Domain dieses Nutzers diesem Nutzer keinen Arbeitsplatz für die Anwendung zugewiesen hat.
{
"kind": "appsmarket#userLicense",
"enabled": false,
"state": "UNLICENSED",
"applicationId": "{APPLICATION_ID}",
"id": "{USER_LICENSE_ID}",
"userId": "user2@domain1.com"
}
userLicense.get-Anfrage
Mit dieser Anfrage wird die Methode userLicense.get
aufgerufen, um den Lizenzierungsstatus von user1@domain1.com abzurufen und festzustellen, ob der Nutzer berechtigt ist, die Anwendung zu verwenden.
GET /appsmarket/v2/userLicense/{applicationId}/{userId}
curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/userLicense/{applicationId}/user1@domain1.com
Antworttext
Da user1@domain1.com die Anwendung zuvor einzeln installiert hat, hat er weiterhin die Berechtigung, sie zu verwenden. In der Antwort wird eine Nutzerlizenz zurückgegeben, wobei enabled
gleich true
und state
gleich ACTIVE
ist.
{
"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"
}
Die Lizenzbenachrichtigungen aus allen oben genannten Aktionen
licenseNotification.list-Anfrage
Bei einer Anfrage an die Methode licenseNotification.list
werden alle Lizenzbenachrichtigungen für die Anwendung abgerufen.
GET /appsmarket/v2/licenseNotification/{applicationId}
curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/licenseNotification/{applicationId}
Antworttext
Die Antwort enthält eine Liste der Lizenzbenachrichtigungen für alle oben ausgeführten Aktionen.
{
"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}"
}