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
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 pengguna1@domain1.com menginstal aplikasi, respons akan 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 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 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 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 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
Respons akan menampilkan lisensi pelanggan untuk domain1.com dengan state
sebagai 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 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 user3@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}/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
pengguna2@domain1.com dan menentukan apakah mereka 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 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 aplikasi tersebut diinstal satu per satu.
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 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 telah 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 tempat 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 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 menginstal aplikasi secara individual, 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
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
Responsnya 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}"
}