Bằng cách cung cấp các yêu cầu và phản hồi mẫu từ Google Workspace Marketplace API, tài liệu này cho biết cách lấy thông tin chi tiết về việc cài đặt và cấp phép ứng dụng trên Google Workspace Marketplace.
Quản trị viên cài đặt ứng dụng
Quản trị viên của cymbalgroup.com đã cài đặt ứng dụng này cho mọi người trong tổ chức.
yêu cầu userLicense.get
Yêu cầu này gọi phương thức userLicense.get để lấy trạng thái cấp phép của user1@cymbalgroup.com nhằm xác định xem họ có quyền sử dụng ứng dụng hay không.
GET /appsmarket/v2/userLicense/{applicationId}/{userId}
curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/userLicense/APPLICATION_ID/user1@cymbalgroup.comNội dung phản hồi
Vì cymbalgroup.com đã cài đặt ứng dụng này, nên phản hồi sẽ trả về tài nguyên userLicense cho user1@cymbalgroup.com. Tài nguyên userLicense có trường enabled được đặt thành true, cho biết rằng quản trị viên miền của cymbalgroup.com đã kích hoạt ứng dụng cho miền này và trường state được đặt thành ACTIVE, cho biết rằng user1@cymbalgroup.com có giấy phép hợp lệ và được phép sử dụng ứng dụng.
{
"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"
}
yêu cầu customerLicense.get
Yêu cầu này gọi phương thức customerLicense.get để lấy trạng thái cấp phép của cymbalgroup.com nhằm xác định xem họ có quyền truy cập vào ứng dụng hay không.
GET /appsmarket/v2/customerLicense/{applicationId}/{customerId}
curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/customerLicense/APPLICATION_ID/cymbalgroup.comNội dung phản hồi
Phản hồi này trả về tài nguyên customerLicense cho cymbalgroup.com, trong đó trường state được đặt thành ACTIVE, cho biết rằng khách hàng có giấy phép hợp lệ.
{
"kind": "appsmarket#customerLicense",
"id": "CUSTOMER_LICENSE_ID",
"applicationId": "APPLICATION_ID",
"customerId": "cymbalgroup.com",
"state": "ACTIVE",
"editions": [
{
"editionId": "default_edition",
"seatCount": -1
}
]
}
Quản trị viên chỉ cài đặt ứng dụng cho đơn vị tổ chức của một người dùng cụ thể
Giờ đây, ứng dụng này chỉ được quản trị viên cài đặt cho đơn vị tổ chức (OU) của người dùng user2@cymbalgroup.com. Quản trị viên không còn cài đặt ứng dụng này cho mọi người trong tổ chức nữa.
yêu cầu userLicense.get
Yêu cầu này gọi phương thức userLicense.get để lấy trạng thái cấp phép của user3@cymbalgroup.com nhằm xác định xem họ có quyền sử dụng ứng dụng hay không.
GET /appsmarket/v2/userLicense/{applicationId}/{userId}
curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/userLicense/APPLICATION_ID/user3@cymbalgroup.comNội dung phản hồi
Vì ứng dụng chỉ được quản trị viên cài đặt cho user2@cymbalgroup.com, nên phản hồi sẽ trả về tài nguyên userLicense cho user3@cymbalgroup.com có trường enabled được đặt thành false, cho biết rằng quản trị viên miền cho cymbalgroup.com chưa kích hoạt ứng dụng cho miền này và trường state được đặt thành ACTIVE, cho biết rằng người dùng có giấy phép hợp lệ và được phép sử dụng ứng dụng.
{
"kind": "appsmarket#userLicense",
"enabled": false,
"state": "ACTIVE",
"editionId": "default_edition",
"customerId": "cymbalgroup.com",
"applicationId": "APPLICATION_ID",
"id": "USER_LICENSE_ID",
"userId": "user3@cymbalgroup.com"
}
yêu cầu userLicense.get
Yêu cầu này gọi phương thức userLicense.get để lấy trạng thái cấp phép của user2@cymbalgroup.com nhằm xác định xem người dùng này có quyền sử dụng ứng dụng hay không.
GET /appsmarket/v2/userLicense/{applicationId}/{userId}
curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/userLicense/APPLICATION_ID/user2@cymbalgroup.comNội dung phản hồi
Vì ứng dụng chỉ do quản trị viên cài đặt cho user2@cymbalgroup.com, nên phản hồi sẽ trả về tài nguyên userLicense cho user2@cymbalgroup.com có trường enabled được đặt thành true và trường state được đặt thành 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"
}
Ứng dụng sẽ bị xoá đối với mọi người trong tổ chức
Mặc dù ứng dụng đã bị xoá đối với mọi người trong tổ chức, nhưng user1@cymbalgroup.com vẫn có quyền truy cập vì họ đã cài đặt riêng ứng dụng này trước đó.
yêu cầu userLicense.get
Yêu cầu này gọi phương thức userLicense.get để lấy trạng thái cấp phép của user2@cymbalgroup.com nhằm xác định xem người dùng này có quyền sử dụng ứng dụng hay không.
GET /appsmarket/v2/userLicense/{applicationId}/{userId}
curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/userLicense/APPLICATION_ID/user2@cymbalgroup.comNội dung phản hồi
Vì ứng dụng đã bị xoá đối với mọi người trong tổ chức, nên phản hồi sẽ trả về tài nguyên userLicense cho user2@cymbalgroup.com có trường enabled được đặt thành false và trường state được đặt thành UNLICENSED, cho biết rằng quản trị viên miền của người dùng này không chỉ định một chỗ cho ứng dụng đối với người dùng này.
{
"kind": "appsmarket#userLicense",
"enabled": false,
"state": "UNLICENSED",
"applicationId": "APPLICATION_ID",
"id": "USER_LICENSE_ID",
"userId": "user2@cymbalgroup.com"
}
yêu cầu userLicense.get
Yêu cầu này gọi phương thức userLicense.get để lấy trạng thái cấp phép của user1@cymbalgroup.com nhằm xác định xem họ có quyền sử dụng ứng dụng hay không.
GET /appsmarket/v2/userLicense/{applicationId}/{userId}
curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/userLicense/APPLICATION_ID/user1@cymbalgroup.comNội dung phản hồi
Vì user1@cymbalgroup.com đã cài đặt ứng dụng riêng lẻ trước đó, nên họ vẫn có quyền sử dụng ứng dụng. Phản hồi trả về một tài nguyên userLicense có trường enabled được đặt thành true và trường state được đặt thành 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"
}