W tym przewodniku znajdziesz przykładowe żądania wysyłane do interfejsu Google Workspace Marketplace API i odpowiedzi na nie. Dzięki temu dowiesz się, jak uzyskać szczegółowe informacje o instalowaniu i licencjonowaniu aplikacji z Google Workspace Marketplace.
Aplikacja nie została jeszcze zainstalowana
Żądanie licencji Notification.list
To żądanie wywołuje metodę licenseNotification.list
, aby pobrać listę powiadomień dotyczących licencji na konkretną aplikację.
GET /appsmarket/v2/licenseNotification/{applicationId}
curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/licenseNotification/{applicationId}
Treść odpowiedzi
Aplikacja nie została jeszcze zainstalowana, więc odpowiedź na to żądanie nie zawiera żadnych powiadomień dotyczących licencji.
{
"kind": "appsmarket#licenseNotificationList",
"nextPageToken": ""
}
Aplikacja jest instalowana pojedynczo
Użytkownik [email protected] zainstalował indywidualnie aplikację z Google Workspace Marketplace.
Żądanie licencji Notification.list
To żądanie wywołuje metodę licenseNotification.list
i pobiera listę powiadomień dotyczących licencji na aplikację, która została zainstalowana przez użytkownika.
GET /appsmarket/v2/licenseNotification/{applicationId}
curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/licenseNotification/{applicationId}
Treść odpowiedzi
Ponieważ uż[email protected] zainstalował aplikację, odpowiedź zawiera jedno powiadomienie o licencji. Powiadomienie o licencji zawiera powiadomienie o obsłudze administracyjnej, ponieważ nowa licencja została udostępniona dla użytkownika uż[email protected] podczas instalowania aplikacji.
{
"kind": "appsmarket#licenseNotificationList",
"notifications": [
{
"kind": "appsmarket#licenseNotification",
"id": "{LICENSE_NOTIFICATION_ID}",
"applicationId": "{APPLICATION_ID}",
"customerId": "[email protected]",
"timestamp": "1641318266998",
"provisions": [
{
"kind": "appsmarket#provisionNotification",
"editionId": "default_edition",
"seatCount": "1"
}
]
}
],
"nextPageToken": "{NEXT_PAGE_TOKEN}"
}
Aplikacja jest zainstalowana przez administratora
Administrator domeny domain1.com zainstalował aplikację dla wszystkich użytkowników w organizacji.
Żądanie userLicense.get
To żądanie wywołuje metodę userLicense.get
, aby uzyskać stan licencji uż[email protected] i określić, czy ma on uprawnienia do korzystania z tej aplikacji.
GET /appsmarket/v2/userLicense/{applicationId}/{userId}
curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/userLicense/{applicationId}/[email protected]
Treść odpowiedzi
Ponieważ administrator domeny domena1.com zainstalował aplikację, w odpowiedzi zwraca licencję użytkownika dla adresu uż[email protected], gdzie enabled
to true
, co wskazuje, że administrator domeny domena1.com aktywował aplikację, a wartość state
to ACTIVE
, co wskazuje, że uż[email protected] ma ważną licencję i powinien mieć prawo do korzystania z aplikacji.
{
"kind": "appsmarket#userLicense",
"enabled": true,
"state": "ACTIVE",
"editionId": "default_edition",
"customerId": "[email protected]",
"applicationId": "{APPLICATION_ID}",
"id": "{USER_LICENSE_ID}",
"userId": "[email protected]"
}
Żądanie customerLicense.get
To żądanie wywołuje metodę customerLicense.get
, aby uzyskać stan licencji domena1.com i ustalić, czy dana osoba ma dostęp do aplikacji.
GET /appsmarket/v2/customerLicense/{applicationId}/{customerId}
curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/customerLicense/{applicationId}/domain1.com
Treść odpowiedzi
Odpowiedź zwraca licencję klienta dla domeny domena1.com, gdzie state
to ACTIVE
, co oznacza, że klient ma ważną licencję.
{
"kind": "appsmarket#customerLicense",
"id": "{CUSTOMER_LICENSE_ID}",
"applicationId": "{APPLICATION_ID}",
"customerId": "domain1.com",
"state": "ACTIVE",
"editions": [
{
"editionId": "default_edition",
"seatCount": -1
}
]
}
Aplikacja jest zainstalowana tylko przez administratora w jednostce organizacyjnej określonego użytkownika
Aplikacja jest teraz zainstalowana tylko przez administratora w jednostce organizacyjnej uż[email protected]. Nie jest już zainstalowana u wszystkich w organizacji.
Żądanie userLicense.get
To żądanie wywołuje metodę userLicense.get
, aby uzyskać stan licencji uż[email protected] i określić, czy ma on uprawnienia do korzystania z aplikacji.
GET /appsmarket/v2/userLicense/{applicationId}/{userId}
curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/userLicense/{applicationId}/[email protected]
Treść odpowiedzi
Aplikacja jest zainstalowana tylko przez administratora dla użytkownika uż[email protected], więc w odpowiedzi zwraca licencję użytkownika dla użytkownika uż[email protected], gdzie enabled
to false
. Oznacza to, że administrator domeny domena1.com nie aktywował aplikacji dla tej domeny, a state
to ACTIVE
, co wskazuje, że użytkownik ma ważną licencję i powinien mieć uprawnienia do korzystania z aplikacji.
{
"kind": "appsmarket#userLicense",
"enabled": false,
"state": "ACTIVE",
"editionId": "default_edition",
"customerId": "domain1.com",
"applicationId": "{APPLICATION_ID}",
"id": "{USER_LICENSE_ID}",
"userId": "[email protected]"
}
Żądanie userLicense.get
To żądanie wywołuje metodę userLicense.get
, aby uzyskać stan licencji uż[email protected] i określić, czy ma on uprawnienia do korzystania z tej aplikacji.
GET /appsmarket/v2/userLicense/{applicationId}/{userId}
curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/userLicense/{applicationId}/[email protected]
Treść odpowiedzi
Aplikacja jest zainstalowana tylko przez administratora dla użytkownika uż[email protected], więc w odpowiedzi zwraca licencję użytkownika dla użytkownika uż[email protected], gdzie enabled
to true
, a state
to ACTIVE
.
{
"kind": "appsmarket#userLicense",
"enabled": true,
"state": "ACTIVE",
"editionId": "default_edition",
"customerId": "domain1.com",
"applicationId": "{APPLICATION_ID}",
"id": "{USER_LICENSE_ID}",
"userId": "[email protected]"
}
Aplikacja zostanie usunięta u wszystkich użytkowników w organizacji
Aplikacja została usunięta dla wszystkich osób w organizacji. Użytkownik [email protected] nadal ma dostęp do aplikacji, ponieważ wcześniej ją zainstalował.
Żądanie userLicense.get
To żądanie wywołuje metodę userLicense.get
, aby uzyskać stan licencji uż[email protected] i określić, czy ma on uprawnienia do korzystania z tej aplikacji.
GET /appsmarket/v2/userLicense/{applicationId}/{userId}
curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/userLicense/{applicationId}/[email protected]
Treść odpowiedzi
Aplikacja została usunięta dla wszystkich użytkowników w organizacji, dlatego w odpowiedzi zwraca licencję użytkownika dla użytkownika uż[email protected], gdzie enabled
to false
, a state
to UNLICENSED
. Oznacza to, że administrator domeny tego użytkownika nie przypisał mu stanowiska dla aplikacji.
{
"kind": "appsmarket#userLicense",
"enabled": false,
"state": "UNLICENSED",
"applicationId": "{APPLICATION_ID}",
"id": "{USER_LICENSE_ID}",
"userId": "[email protected]"
}
Żądanie userLicense.get
To żądanie wywołuje metodę userLicense.get
, aby uzyskać stan licencji uż[email protected] i określić, czy ma on uprawnienia do korzystania z tej aplikacji.
GET /appsmarket/v2/userLicense/{applicationId}/{userId}
curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/userLicense/{applicationId}/[email protected]
Treść odpowiedzi
Ponieważ uż[email protected] wcześniej zainstalował tę aplikację samodzielnie, nadal ma uprawnienia do jej używania. Odpowiedź zwraca licencję użytkownika, gdzie
enabled
to true
, a state
to ACTIVE
.
{
"kind": "appsmarket#userLicense",
"enabled": true,
"state": "ACTIVE",
"editionId": "default_edition",
"customerId": "[email protected]",
"applicationId": "{APPLICATION_ID}",
"id": "{USER_LICENSE_ID}",
"userId": "[email protected]"
}
Powiadomienia o licencjach dotyczące wszystkich powyższych działań
Żądanie licencji Notification.list
Żądanie kierowane do metody licenseNotification.list
pobiera wszystkie powiadomienia dotyczące licencji dla aplikacji.
GET /appsmarket/v2/licenseNotification/{applicationId}
curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/licenseNotification/{applicationId}
Treść odpowiedzi
Odpowiedź zwraca listę powiadomień dotyczących licencji dotyczących wszystkich wykonanych powyżej działań.
{
"kind": "appsmarket#licenseNotificationList",
"notifications": [
{
"kind": "appsmarket#licenseNotification",
"id": "{LICENSE_NOTIFICATION_ID}",
"applicationId": "{APPLICATION_ID}",
"customerId": "[email protected]",
"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}"
}