Dengan memberikan contoh permintaan dan respons dari Google Workspace Marketplace API, panduan ini menunjukkan cara mendapatkan detail pemberian lisensi dan penginstalan aplikasi Google Workspace Marketplace.
Aplikasi belum diinstal
permintaan LicenseNotification.list
Permintaan ini memanggil metode licenseNotification.list
untuk mengambil daftar
notifikasi pemberian lisensi untuk aplikasi tertentu.
GET /appsmarket/v2/licenseNotification/{applicationId}
curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/licenseNotification/{applicationId}
Isi respons
Karena aplikasi belum diinstal, respons terhadap permintaan ini tidak mencakup notifikasi pemberian lisensi apa pun.
{
"kind": "appsmarket#licenseNotificationList",
"nextPageToken": ""
}
Aplikasi diinstal secara individual
Pengguna, pengguna1@domain1.com, menginstal aplikasi satu per satu dari Google Workspace Marketplace.
permintaan LicenseNotification.list
Permintaan ini memanggil
metode licenseNotification.list
dan mengambil daftar notifikasi pemberian lisensi untuk aplikasi yang
telah diinstal oleh pengguna.
GET /appsmarket/v2/licenseNotification/{applicationId}
curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/licenseNotification/{applicationId}
Isi respons
Karena pengguna1@domain1.com menginstal aplikasi, responsnya akan menyertakan satu notifikasi lisensi. Notifikasi lisensi menyertakan notifikasi penyediaan karena lisensi baru disediakan untuk pengguna1@domain1.com saat mereka menginstal aplikasi.
{
"kind": "appsmarket#licenseNotificationList",
"notifications": [
{
"kind": "appsmarket#licenseNotification",
"id": "{LICENSE_NOTIFICATION_ID}",
"applicationId": "{APPLICATION_ID}",
"customerId": "user1@domain1.com",
"timestamp": "1641318266998",
"provisions": [
{
"kind": "appsmarket#provisionNotification",
"editionId": "default_edition",
"seatCount": "1"
}
]
}
],
"nextPageToken": "{NEXT_PAGE_TOKEN}"
}
Aplikasi ini diinstal oleh admin
Administrator domain1.com menginstal aplikasi untuk semua orang dalam organisasi.
Permintaan userLicense.get
Permintaan ini memanggil metode userLicense.get
untuk mendapatkan status pemberian lisensi pengguna1@domain1.com dan menentukan apakah pengguna memiliki izin untuk menggunakan aplikasi tersebut.
GET /appsmarket/v2/userLicense/{applicationId}/{userId}
curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/userLicense/{applicationId}/user1@domain1.com
Isi respons
Karena domain1.com telah menginstal aplikasi, respons akan menampilkan
lisensi pengguna untuk pengguna1@domain1.com dengan enabled
adalah true
, yang menunjukkan
bahwa administrator domain untuk domain1.com telah mengaktifkan aplikasi untuk
domain ini, dan state
adalah ACTIVE
, yang menunjukkan bahwa pengguna1@domain1.com memiliki lisensi yang valid dan diizinkan untuk menggunakan aplikasi.
{
"kind": "appsmarket#userLicense",
"enabled": true,
"state": "ACTIVE",
"editionId": "default_edition",
"customerId": "user1@domain1.com",
"applicationId": "{APPLICATION_ID}",
"id": "{USER_LICENSE_ID}",
"userId": "user1@domain1.com"
}
Permintaan customerLicense.get
Permintaan ini memanggil metode customerLicense.get
untuk mendapatkan status
pemberian lisensi domain1.com untuk menentukan apakah mereka memiliki akses ke aplikasi.
GET /appsmarket/v2/customerLicense/{applicationId}/{customerId}
curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/customerLicense/{applicationId}/domain1.com
Isi respons
Respons akan menampilkan lisensi pelanggan untuk domain1.com dengan state
adalah ACTIVE
, yang menunjukkan bahwa pelanggan memiliki lisensi yang valid.
{
"kind": "appsmarket#customerLicense",
"id": "{CUSTOMER_LICENSE_ID}",
"applicationId": "{APPLICATION_ID}",
"customerId": "domain1.com",
"state": "ACTIVE",
"editions": [
{
"editionId": "default_edition",
"seatCount": -1
}
]
}
Aplikasi hanya diinstal oleh admin untuk unit organisasi (OU) pengguna tertentu
Aplikasi ini sekarang hanya diinstal oleh admin untuk OU pengguna2@domain1.com. Admin tidak lagi diinstal untuk semua orang di organisasi.
Permintaan userLicense.get
Permintaan ini memanggil metode userLicense.get
untuk mendapatkan status pemberian lisensi pengguna3@domain1.com dan menentukan apakah pengguna memiliki
izin untuk menggunakan aplikasi atau tidak.
GET /appsmarket/v2/userLicense/{applicationId}/{userId}
curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/userLicense/{applicationId}/user3@domain1.com
Isi respons
Karena aplikasi hanya diinstal oleh admin untuk pengguna2@domain1.com, respons akan menampilkan lisensi pengguna untuk pengguna3@domain1.com dengan enabled
adalah
false
, yang menunjukkan bahwa administrator domain untuk domain1.com belum
mengaktifkan aplikasi untuk domain ini, dan state
adalah ACTIVE
, yang menunjukkan bahwa pengguna memiliki lisensi yang valid dan diizinkan untuk menggunakan aplikasi.
{
"kind": "appsmarket#userLicense",
"enabled": false,
"state": "ACTIVE",
"editionId": "default_edition",
"customerId": "domain1.com",
"applicationId": "{APPLICATION_ID}",
"id": "{USER_LICENSE_ID}",
"userId": "user3@domain1.com"
}
Permintaan userLicense.get
Permintaan ini memanggil metode userLicense.get
untuk mendapatkan status pemberian lisensi pengguna2@domain1.com dan menentukan apakah pengguna memiliki izin untuk menggunakan aplikasi tersebut.
GET /appsmarket/v2/userLicense/{applicationId}/{userId}
curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/userLicense/{applicationId}/user2@domain1.com
Isi respons
Karena aplikasi hanya diinstal oleh admin untuk pengguna2@domain1.com, respons akan menampilkan lisensi pengguna untuk pengguna2@domain1.com dengan enabled
adalah
true
dan state
adalah ACTIVE
.
{
"kind": "appsmarket#userLicense",
"enabled": true,
"state": "ACTIVE",
"editionId": "default_edition",
"customerId": "domain1.com",
"applicationId": "{APPLICATION_ID}",
"id": "{USER_LICENSE_ID}",
"userId": "user2@domain1.com"
}
Aplikasi ini dihapus untuk semua orang di organisasi
Aplikasi telah dihapus untuk semua pengguna di organisasi. Pengguna, pengguna1@domain1.com, masih memiliki akses ke aplikasi karena sebelumnya mereka menginstal aplikasi satu per satu.
Permintaan userLicense.get
Permintaan ini memanggil metode userLicense.get
untuk mendapatkan status pemberian lisensi pengguna2@domain1.com dan menentukan apakah pengguna memiliki izin untuk menggunakan aplikasi tersebut.
GET /appsmarket/v2/userLicense/{applicationId}/{userId}
curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/userLicense/{applicationId}/user2@domain1.com
Isi respons
Karena aplikasi dihapus untuk semua orang dalam organisasi, respons
akan menampilkan lisensi pengguna untuk pengguna2@domain1.com dengan enabled
adalah false
dan
state
adalah UNLICENSED
, yang menunjukkan bahwa administrator domain pengguna ini
tidak menetapkan slot untuk aplikasi tersebut kepada pengguna ini.
{
"kind": "appsmarket#userLicense",
"enabled": false,
"state": "UNLICENSED",
"applicationId": "{APPLICATION_ID}",
"id": "{USER_LICENSE_ID}",
"userId": "user2@domain1.com"
}
Permintaan userLicense.get
Permintaan ini memanggil metode userLicense.get
untuk mendapatkan status pemberian lisensi pengguna1@domain1.com dan menentukan apakah pengguna memiliki izin untuk menggunakan aplikasi tersebut.
GET /appsmarket/v2/userLicense/{applicationId}/{userId}
curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/userLicense/{applicationId}/user1@domain1.com
Isi respons
Karena pengguna1@domain1.com sebelumnya telah menginstal aplikasi, pengguna masih memiliki izin untuk menggunakannya. Respons akan menampilkan lisensi pengguna dengan
enabled
adalah true
dan state
adalah ACTIVE
.
{
"kind": "appsmarket#userLicense",
"enabled": true,
"state": "ACTIVE",
"editionId": "default_edition",
"customerId": "user1@domain1.com",
"applicationId": "{APPLICATION_ID}",
"id": "{USER_LICENSE_ID}",
"userId": "user1@domain1.com"
}
Notifikasi lisensi dari semua tindakan di atas
permintaan LicenseNotification.list
Permintaan ke metode licenseNotification.list
mengambil semua notifikasi pemberian lisensi untuk aplikasi.
GET /appsmarket/v2/licenseNotification/{applicationId}
curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/licenseNotification/{applicationId}
Isi respons
Respons tersebut akan menampilkan daftar notifikasi lisensi untuk semua tindakan yang dilakukan di atas.
{
"kind": "appsmarket#licenseNotificationList",
"notifications": [
{
"kind": "appsmarket#licenseNotification",
"id": "{LICENSE_NOTIFICATION_ID}",
"applicationId": "{APPLICATION_ID}",
"customerId": "user1@domain1.com",
"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}"
}