Anhand von Beispielanfragen an und Antworten von der Google Workspace Marketplace API wird in diesem Leitfaden gezeigt, wie Sie Details zur Installation und Lizenzierung von Google Workspace Marketplace-Apps abrufen.
Die Anwendung wurde noch nicht installiert
licenseNotification.list-Anfrage
Bei dieser Anfrage wird die Methode licenseNotification.list
aufgerufen, um eine Liste der 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 Lizenzierungsbenachrichtigungen.
{
"kind": "appsmarket#licenseNotificationList",
"nextPageToken": ""
}
Die Anwendung wird einzeln installiert.
Ein Nutzer, user1@domain1.com, hat die Anwendung einzeln aus dem Google Workspace Marketplace installiert.
LicenseNotification.list-Anfrage
Bei dieser Anfrage wird die Methode licenseNotification.list
aufgerufen und die Liste der Lizenzierungsbenachrichtigungen für die vom Nutzer installierte Anwendung abgerufen.
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 bei der Installation der Anwendung eine neue Lizenz für nutzer1@domain1.com 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
Bei dieser Anfrage wird die userLicense.get
-Methode aufgerufen, um den Lizenzierungsstatus von „user1@domain1.com“ abzurufen und festzustellen, ob er 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 auf domain1.com installiert hat, wird in der Antwort die Nutzerlizenz für nutzer1@domain1.com zurückgegeben. Dabei ist enabled
= true
, was bedeutet, dass der Domainadministrator für domain1.com die Anwendung für diese Domain aktiviert hat. state
= ACTIVE
bedeutet, dass nutzer1@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
Bei dieser Anfrage wird die customerLicense.get
-Methode aufgerufen, um den Lizenzierungsstatus von domain1.com abzurufen und so zu ermitteln, 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
Die Antwort gibt die Kundenlizenz für domain1.com zurück, wobei state
= ACTIVE
ist, was 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 vom Administrator für die Organisationseinheit (OE) eines bestimmten Nutzers installiert.
Die Anwendung wird jetzt nur noch vom Administrator für die OU von user2@domain1.com installiert. Die App wird nicht mehr von Administratoren für alle Nutzer in der Organisation installiert.
userLicense.get-Anfrage
Bei dieser Anfrage wird die userLicense.get
-Methode aufgerufen, um den Lizenzierungsstatus von „user3@domain1.com“ abzurufen und festzustellen, ob er 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}/user3@domain1.com
Antworttext
Da die Anwendung nur vom Administrator für „user2@domain1.com“ installiert wurde, gibt die Antwort eine Nutzerlizenz für „user3@domain1.com“ zurück, wobei enabled
= false
ist, was bedeutet, dass der Domainadministrator für „domain1.com“ die Anwendung nicht für diese Domain aktiviert hat. state
= ACTIVE
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
Bei dieser Anfrage wird die userLicense.get
-Methode aufgerufen, um den Lizenzierungsstatus von „user2@domain1.com“ abzurufen und festzustellen, ob er 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 nutzer2@domain1.com vom Administrator 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 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 einzeln installiert hat.
userLicense.get-Anfrage
Bei dieser Anfrage wird die userLicense.get
-Methode aufgerufen, um den Lizenzierungsstatus von „user2@domain1.com“ abzurufen und festzustellen, ob er 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, gibt die Antwort eine Nutzerlizenz für „user2@domain1.com“ zurück, wobei enabled
= false
und state
= UNLICENSED
ist. Das bedeutet, dass der Administrator der Domain dieses Nutzers diesem Nutzer keinen Sitzplatz 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
Diese Anfrage ruft die Methode userLicense.get
auf, um den Lizenzierungsstatus von nutzer1@domain1.com abzurufen und festzustellen, ob der Nutzer zur Verwendung der Anwendung berechtigt ist.
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 einzeln installiert hat, ist sie weiterhin berechtigt, sie zu verwenden. Die Antwort gibt eine Nutzerlizenz zurück, wobei enabled
= true
und state
= 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 zu allen oben genannten Aktionen
licenseNotification.list-Anfrage
Eine Anfrage an die licenseNotification.list
-Methode 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
In der Antwort wird für alle oben ausgeführten Aktionen eine Liste mit Lizenzbenachrichtigungen 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}"
}