このドキュメントでは、 Google Workspace Marketplace API との間のリクエストとレスポンスの例を示して、Google Workspace Marketplace アプリのインストールとライセンスの詳細を取得する方法について説明します。
アプリケーションが管理者によってインストールされている
cymbalgroup.com の管理者が、組織内のすべてのユーザーにアプリケーションをインストールしました。
userLicense.get リクエスト
このリクエストは、userLicense.get メソッドを呼び出して user1@cymbalgroup.com のライセンス ステータスを取得し、アプリケーションを使用する権限があるかどうかを判断します。
GET /appsmarket/v2/userLicense/{applicationId}/{userId}
curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/userLicense/APPLICATION_ID/user1@cymbalgroup.comレスポンスの本文
cymbalgroup.com がアプリケーションをインストールしているため、レスポンスは user1@cymbalgroup.com の userLicense リソースを返します。userLicense リソースの enabled フィールドは true に設定されています。これは、cymbalgroup.com のドメイン管理者がこのドメインのアプリケーションを有効にしたことを示します。また、state フィールドは ACTIVE に設定されています。これは、user1@cymbalgroup.com が有効なライセンスを所有しており、アプリケーションの使用を許可する必要があることを示します。
{
"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"
}
customerLicense.get リクエスト
このリクエストは customerLicense.get メソッドを呼び出して cymbalgroup.com のライセンス ステータスを取得し、アプリケーションにアクセスできるかどうかを判断します。
GET /appsmarket/v2/customerLicense/{applicationId}/{customerId}
curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/customerLicense/APPLICATION_ID/cymbalgroup.comレスポンスの本文
レスポンスでは、cymbalgroup.com の customerLicense リソースが返されます。このリソースの state フィールドは ACTIVE に設定されており、顧客が有効なライセンスを所有していることを示しています。
{
"kind": "appsmarket#customerLicense",
"id": "CUSTOMER_LICENSE_ID",
"applicationId": "APPLICATION_ID",
"customerId": "cymbalgroup.com",
"state": "ACTIVE",
"editions": [
{
"editionId": "default_edition",
"seatCount": -1
}
]
}
アプリケーションは、特定のユーザーの組織部門に対してのみ管理者がインストールしたものです
これで、このアプリケーションは user2@cymbalgroup.com の組織部門(OU)に管理者によってのみインストールされるようになりました。組織内のすべてのユーザーに対して管理者がインストールすることはできなくなりました。
userLicense.get リクエスト
このリクエストは、userLicense.get メソッドを呼び出して user3@cymbalgroup.com のライセンス ステータスを取得し、アプリケーションを使用する権限があるかどうかを判断します。
GET /appsmarket/v2/userLicense/{applicationId}/{userId}
curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/userLicense/APPLICATION_ID/user3@cymbalgroup.comレスポンスの本文
アプリケーションは管理者によって user2@cymbalgroup.com にのみインストールされているため、レスポンスは、enabled フィールドが false に設定された user3@cymbalgroup.com の userLicense リソースを返します。これは、cymbalgroup.com のドメイン管理者がこのドメインでアプリケーションを有効にしていないことを示します。また、state フィールドが ACTIVE に設定されていることは、ユーザーが有効なライセンスを所有しており、アプリケーションの使用が許可されることを示します。
{
"kind": "appsmarket#userLicense",
"enabled": false,
"state": "ACTIVE",
"editionId": "default_edition",
"customerId": "cymbalgroup.com",
"applicationId": "APPLICATION_ID",
"id": "USER_LICENSE_ID",
"userId": "user3@cymbalgroup.com"
}
userLicense.get リクエスト
このリクエストは userLicense.get メソッドを呼び出して、user2@cymbalgroup.com のライセンス ステータスを取得し、アプリケーションを使用する権限があるかどうかを判断します。
GET /appsmarket/v2/userLicense/{applicationId}/{userId}
curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/userLicense/APPLICATION_ID/user2@cymbalgroup.comレスポンスの本文
アプリケーションは user2@cymbalgroup.com に対して管理者によってのみインストールされているため、レスポンスは enabled フィールドが true に設定され、state フィールドが ACTIVE に設定されている user2@cymbalgroup.com の userLicense リソースを返します。
{
"kind": "appsmarket#userLicense",
"enabled": true,
"state": "ACTIVE",
"editionId": "default_edition",
"customerId": "cymbalgroup.com",
"applicationId": "APPLICATION_ID",
"id": "USER_LICENSE_ID",
"userId": "user2@cymbalgroup.com"
}
組織内のすべてのユーザーに対してアプリケーションが削除されます
組織内のすべてのユーザーに対してアプリケーションが削除されても、user1@cymbalgroup.com は以前に個別にインストールしているため、引き続きアクセスできます。
userLicense.get リクエスト
このリクエストは userLicense.get メソッドを呼び出して、user2@cymbalgroup.com のライセンス ステータスを取得し、アプリケーションを使用する権限があるかどうかを判断します。
GET /appsmarket/v2/userLicense/{applicationId}/{userId}
curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/userLicense/APPLICATION_ID/user2@cymbalgroup.comレスポンスの本文
組織内のすべてのユーザーに対してアプリケーションが削除されたため、レスポンスは user2@cymbalgroup.com の userLicense リソースを返します。このリソースの enabled フィールドは false に設定され、state フィールドは UNLICENSED に設定されています。これは、このユーザーのドメインの管理者がこのユーザーにアプリケーションのシートを割り当てていないことを示しています。
{
"kind": "appsmarket#userLicense",
"enabled": false,
"state": "UNLICENSED",
"applicationId": "APPLICATION_ID",
"id": "USER_LICENSE_ID",
"userId": "user2@cymbalgroup.com"
}
userLicense.get リクエスト
このリクエストは、userLicense.get メソッドを呼び出して user1@cymbalgroup.com のライセンス ステータスを取得し、アプリケーションを使用する権限があるかどうかを判断します。
GET /appsmarket/v2/userLicense/{applicationId}/{userId}
curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/userLicense/APPLICATION_ID/user1@cymbalgroup.comレスポンスの本文
user1@cymbalgroup.com は以前にアプリケーションを個別にインストールしているため、引き続き使用する権限があります。レスポンスは、enabled フィールドが true に設定され、state フィールドが ACTIVE に設定された userLicense リソースを返します。
{
"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"
}