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