Dengan memberikan contoh permintaan ke dan respons dari Google Workspace Marketplace API, panduan ini menunjukkan cara mendapatkan detail penginstalan dan pemberian lisensi 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 menyertakan notifikasi pemberian lisensi apa pun.
{
"kind": "appsmarket#licenseNotificationList",
"nextPageToken": ""
}
Aplikasi diinstal satu per satu
Pengguna, user1@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 user1@domain1.com menginstal aplikasi, responsnya menyertakan satu notifikasi lisensi. Notifikasi lisensi menyertakan notifikasi penyediaan karena lisensi baru disediakan untuk user1@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 diinstal oleh admin
Administrator domain1.com menginstal aplikasi untuk semua orang di organisasi.
Permintaan userLicense.get
Permintaan ini memanggil metode userLicense.get
untuk mendapatkan status pemberian lisensi
pengguna1@domain1.com dan menentukan apakah mereka memiliki izin untuk menggunakan
aplikasi.
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 admin 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 harus 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 izin domain1.com guna menentukan apakah domain tersebut 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 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 kini hanya diinstal oleh admin untuk OU user2@domain1.com. Aplikasi ini tidak lagi diinstal oleh admin untuk semua orang di organisasi.
Permintaan userLicense.get
Permintaan ini memanggil metode userLicense.get
untuk mendapatkan status pemberian lisensi user3@domain1.com dan menentukan apakah mereka memiliki
izin untuk menggunakan aplikasi.
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 admin untuk user2@domain1.com, respons akan menampilkan lisensi pengguna untuk user3@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 harus 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 mereka memiliki izin untuk menggunakan
aplikasi.
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 user2@domain1.com, respons akan menampilkan lisensi pengguna untuk user2@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 dihapus untuk semua orang di organisasi
Aplikasi dihapus untuk semua orang di organisasi. Pengguna, user1@domain1.com, masih memiliki akses ke aplikasi karena sebelumnya mereka menginstal aplikasi secara terpisah.
Permintaan userLicense.get
Permintaan ini memanggil metode userLicense.get
untuk mendapatkan status pemberian lisensi
pengguna2@domain1.com dan menentukan apakah mereka memiliki izin untuk menggunakan
aplikasi.
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 di organisasi, respons
akan menampilkan lisensi pengguna untuk user2@domain1.com dengan enabled
adalah false
dan
state
adalah UNLICENSED
, yang menunjukkan bahwa administrator domain pengguna ini
tidak menetapkan kursi untuk aplikasi 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 mereka memiliki izin untuk menggunakan
aplikasi.
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 user1@domain1.com sebelumnya telah menginstal aplikasi satu per satu, mereka
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 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}"
}