앱 설치 및 라이선스 세부정보 확인

이 문서에서는 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

응답 본문

응답은 state 필드가 ACTIVE로 설정된 cymbalgroup.com의 customerLicense 리소스를 반환합니다. 이는 고객에게 유효한 라이선스가 있음을 나타냅니다.

{
  "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로 설정되어 cymbalgroup.com의 도메인 관리자가 이 도메인에 대해 애플리케이션을 활성화하지 않았음을 나타내고 state 필드가 ACTIVE로 설정되어 사용자가 유효한 라이선스를 보유하고 애플리케이션 사용이 허용되어야 함을 나타내는 user3@cymbalgroup.com의 userLicense 리소스를 반환합니다.

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

응답 본문

조직의 모든 사용자에 대해 애플리케이션이 삭제되었으므로 응답에서는 enabled 필드가 false로 설정되고 state 필드가 UNLICENSED로 설정된 user2@cymbalgroup.com의 userLicense 리소스를 반환합니다. 이는 이 사용자의 도메인 관리자가 이 사용자에게 애플리케이션 시트를 할당하지 않았음을 나타냅니다.

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