Dengan memberikan contoh permintaan ke 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 menyertakan notifikasi pemberian lisensi apa pun.
{
"kind": "appsmarket#licenseNotificationList",
"nextPageToken": ""
}
Aplikasi diinstal secara terpisah
Seorang 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 user1@domain1.com menginstal aplikasi, responsnya menyertakan satu notifikasi lisensi. Notifikasi lisensi menyertakan notifikasi penyediaan karena lisensi baru telah 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 ini diinstal oleh admin
Administrator domain1.com telah menginstal aplikasi untuk semua orang dalam organisasi.
Permintaan userLicense.get
Permintaan ini memanggil metode userLicense.get
untuk mendapatkan status pemberian lisensi
user1@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 oleh admin, respons akan menampilkan
lisensi pengguna untuk user1@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 user1@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 lisensi
domain1.com guna menentukan apakah metode 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
Responsnya 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 ini hanya diinstal oleh admin untuk unit organisasi (OU) pengguna tertentu
Aplikasi tersebut kini 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 user3@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}/user3@domain1.com
Isi respons
Karena aplikasi hanya diinstal oleh admin untuk user2@domain1.com, respons akan menampilkan lisensi pengguna untuk user3@domain1.com dengan enabled
sebagai 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
user2@domain1.com dan menentukan apakah metode tersebut 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 telah dihapus untuk semua orang di organisasi. Pengguna, pengguna1@domain1.com, masih memiliki akses ke aplikasi karena sebelumnya menginstal aplikasi tersebut satu per satu.
Permintaan userLicense.get
Permintaan ini memanggil metode userLicense.get
untuk mendapatkan status pemberian lisensi
user2@domain1.com dan menentukan apakah metode tersebut 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 telah dihapus untuk semua orang dalam 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 slot 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
user1@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 user1@domain1.com sebelumnya menginstal aplikasi secara terpisah, pengguna tersebut
masih memiliki izin untuk menggunakannya. Responsnya 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
akan 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}"
}