Poznaj szczegóły dotyczące instalowania i licencjonowania aplikacji

W tym dokumencie znajdziesz przykładowe żądania i odpowiedzi z  interfejsu Google Workspace Marketplace API, które pokazują, jak uzyskać szczegółowe informacje o instalacji i licencjonowaniu aplikacji z Google Workspace Marketplace.

Aplikacja jest instalowana przez administratora

Administrator domeny cymbalgroup.com zainstalował aplikację dla wszystkich osób w organizacji.

Żądanie userLicense.get

To żądanie wywołuje metodę userLicense.get, aby uzyskać stan licencji użytkownika user1@cymbalgroup.com i sprawdzić, 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/APPLICATION_ID/user1@cymbalgroup.com

Treść odpowiedzi

Ponieważ firma cymbalgroup.com zainstalowała aplikację, odpowiedź zwraca zasób userLicense dla użytkownika user1@cymbalgroup.com. Zasób userLicense zawiera pole enabled ustawione na true, co oznacza, że administrator domeny cymbalgroup.com aktywował aplikację w tej domenie, a pole state ustawione na ACTIVE, co oznacza, że użytkownik user1@cymbalgroup.com ma ważną licencję i powinien mieć możliwość korzystania z aplikacji.

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

Żądanie customerLicense.get

To żądanie wywołuje metodę customerLicense.get, aby uzyskać stan licencji domeny cymbalgroup.com i sprawdzić, czy ma ona dostęp do aplikacji.

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

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

Treść odpowiedzi

Odpowiedź zwraca zasób customerLicense dla domeny cymbalgroup.com, w którym pole state ma wartość ACTIVE, co oznacza, że klient ma ważną licencję.

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

Aplikacja jest instalowana przez administratora tylko w jednostce organizacyjnej konkretnego użytkownika.

Aplikacja jest teraz instalowana tylko przez administratora w jednostce organizacyjnej (OU) użytkownika user2@cymbalgroup.com. Nie jest już instalowana przez administratora dla wszystkich użytkowników w organizacji.

Żądanie userLicense.get

To żądanie wywołuje metodę userLicense.get, aby uzyskać stan licencji użytkownika user3@cymbalgroup.com i sprawdzić, 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/APPLICATION_ID/user3@cymbalgroup.com

Treść odpowiedzi

Ponieważ aplikacja jest zainstalowana tylko przez administratora dla użytkownika user2@cymbalgroup.com, odpowiedź zwraca zasób userLicense dla użytkownika user3@cymbalgroup.com, w którym pole enabled ma wartość false, co oznacza, że administrator domeny cymbalgroup.com nie aktywował aplikacji w tej domenie, a pole state ma wartość ACTIVE, co oznacza, że użytkownik ma ważną licencję i powinien mieć możliwość korzystania z aplikacji.

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

Żądanie userLicense.get

To żądanie wywołuje metodę userLicense.get, aby uzyskać stan licencji użytkownika user2@cymbalgroup.com i sprawdzić, 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/APPLICATION_ID/user2@cymbalgroup.com

Treść odpowiedzi

Ponieważ aplikacja jest zainstalowana tylko przez administratora dla użytkownika user2@cymbalgroup.com, odpowiedź zwraca zasób userLicense dla użytkownika user2@cymbalgroup.com, w którym pole enabled ma wartość true, a pole state ma wartość ACTIVE.

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

Aplikacja zostanie usunięta u wszystkich osób w organizacji.

Mimo że aplikacja została usunięta dla wszystkich użytkowników w organizacji, użytkownik1@cymbalgroup.com nadal ma do niej dostęp, ponieważ wcześniej zainstalował ją indywidualnie.

Żądanie userLicense.get

To żądanie wywołuje metodę userLicense.get, aby uzyskać stan licencji użytkownika user2@cymbalgroup.com i sprawdzić, 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/APPLICATION_ID/user2@cymbalgroup.com

Treść odpowiedzi

Ponieważ aplikacja została usunięta dla wszystkich użytkowników w organizacji, odpowiedź zwraca zasób userLicense dla użytkownika user2@cymbalgroup.com, w którym pole enabled ma wartość false, a pole state ma wartość UNLICENSED. Oznacza to, że administrator domeny tego użytkownika nie przypisał mu miejsca na aplikację.

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

Żądanie userLicense.get

To żądanie wywołuje metodę userLicense.get, aby uzyskać stan licencji użytkownika user1@cymbalgroup.com i sprawdzić, 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/APPLICATION_ID/user1@cymbalgroup.com

Treść odpowiedzi

Użytkownik user1@cymbalgroup.com zainstalował wcześniej aplikację indywidualnie, więc nadal ma uprawnienia do jej używania. Odpowiedź zwraca zasób userLicense, w którym pole enabled ma wartość true, a pole state ma wartość ACTIVE.

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