Bu kılavuzda, Google Workspace Marketplace API'ye gönderilen örnek istekler ve yanıtlar sağlanarak Google Workspace Marketplace uygulaması yükleme ve lisanslamayla ilgili ayrıntıların nasıl alınacağı gösterilmektedir.
Uygulama henüz yüklenmedi
lisansıBildirim.list isteği
Bu istek, belirli bir uygulamanın lisanslama bildirimlerinin listesini almak için licenseNotification.list
yöntemini çağırır.
GET /appsmarket/v2/licenseNotification/{applicationId}
curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/licenseNotification/{applicationId}
Yanıt gövdesi
Uygulama henüz yüklenmediği için bu isteğe verilen yanıt herhangi bir lisanslama bildirimini içermez.
{
"kind": "appsmarket#licenseNotificationList",
"nextPageToken": ""
}
Uygulama ayrı ayrı yüklenir
[email protected] olan bir kullanıcı, uygulamayı Google Workspace Marketplace'ten tek tek yüklemiştir.
lisansıBildirim.list isteği
Bu istek licenseNotification.list
yöntemini çağırır ve kullanıcı tarafından yüklenen uygulamaya ait lisanslama bildirimlerinin listesini alır.
GET /appsmarket/v2/licenseNotification/{applicationId}
curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/licenseNotification/{applicationId}
Yanıt gövdesi
Uygulamayı [email protected] yüklediği için yanıtta bir lisans bildirimi yer alır. Uygulamayı yüklediğinde [email protected] için yeni bir lisans sağlandığı için lisans bildirimi bir temel hazırlık bildirimi içerir.
{
"kind": "appsmarket#licenseNotificationList",
"notifications": [
{
"kind": "appsmarket#licenseNotification",
"id": "{LICENSE_NOTIFICATION_ID}",
"applicationId": "{APPLICATION_ID}",
"customerId": "[email protected]",
"timestamp": "1641318266998",
"provisions": [
{
"kind": "appsmarket#provisionNotification",
"editionId": "default_edition",
"seatCount": "1"
}
]
}
],
"nextPageToken": "{NEXT_PAGE_TOKEN}"
}
Uygulama yönetici tarafından yüklenmiş
alan1.com alan adının yöneticisi, uygulamayı kuruluştaki herkes için yükledi.
userLicense.get isteği
Bu istek, [email protected]'un lisanslama durumunu almak ve uygulamayı kullanma iznine sahip olup olmadığını belirlemek için userLicense.get
yöntemini çağırır.
GET /appsmarket/v2/userLicense/{applicationId}/{userId}
curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/userLicense/{applicationId}/[email protected]
Yanıt gövdesi
Alan1.com'da uygulama yönetici tarafından yüklenmiş olduğundan yanıt, [email protected] için kullanıcı lisansını döndürür. Burada enabled
, true
olur. Bu şekilde alan1.com'un alan yöneticisi, uygulamayı bu alan adı için etkinleştirmiştir ve state
, kullanıcı[email protected]'un geçerli bir lisansı olduğunu ve uygulamayı kullanmasına izin verildiğini belirtir.ACTIVE
{
"kind": "appsmarket#userLicense",
"enabled": true,
"state": "ACTIVE",
"editionId": "default_edition",
"customerId": "[email protected]",
"applicationId": "{APPLICATION_ID}",
"id": "{USER_LICENSE_ID}",
"userId": "[email protected]"
}
customerLisans.get isteği
Bu istek, uygulamaya erişimlerinin olup olmadığını belirlemek üzere alanadi1.com'un lisanslama durumunu almak için customerLicense.get
yöntemini çağırır.
GET /appsmarket/v2/customerLicense/{applicationId}/{customerId}
curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/customerLicense/{applicationId}/domain1.com
Yanıt gövdesi
Yanıt, alan1.com için state
'in ACTIVE
olduğu ve müşterinin geçerli bir lisansı olduğunu belirten müşteri lisansını döndürür.
{
"kind": "appsmarket#customerLicense",
"id": "{CUSTOMER_LICENSE_ID}",
"applicationId": "{APPLICATION_ID}",
"customerId": "domain1.com",
"state": "ACTIVE",
"editions": [
{
"editionId": "default_edition",
"seatCount": -1
}
]
}
Uygulama yalnızca belirli bir kullanıcının kuruluş birimi için yönetici tarafından yüklenmiş olmalıdır
Uygulama artık yalnızca [email protected]'un kuruluş birimi için yönetici tarafından yüklenmiştir. Artık kuruluştaki herkes için yüklü bir yönetici değildir.
userLicense.get isteği
Bu istek, [email protected]'un lisanslama durumunu öğrenmek ve uygulamayı kullanma iznine sahip olup olmadığını belirlemek için userLicense.get
yöntemini çağırır.
GET /appsmarket/v2/userLicense/{applicationId}/{userId}
curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/userLicense/{applicationId}/[email protected]
Yanıt gövdesi
Uygulamada yalnızca [email protected] için yüklü olan uygulama olduğundan yanıt, [email protected] için bir kullanıcı lisansı döndürür. Burada enabled
, false
olur. Bu lisans, alan1.com'un alan yöneticisi uygulamayı bu alan adı için etkinleştirmediğini, state
ise kullanıcının geçerli bir lisansa sahip olduğunu ve uygulamayı kullanmasına izin verilmesi gerektiğini belirtir.ACTIVE
{
"kind": "appsmarket#userLicense",
"enabled": false,
"state": "ACTIVE",
"editionId": "default_edition",
"customerId": "domain1.com",
"applicationId": "{APPLICATION_ID}",
"id": "{USER_LICENSE_ID}",
"userId": "[email protected]"
}
userLicense.get isteği
Bu istek, [email protected]'un lisanslama durumunu öğrenmek ve uygulamayı kullanma iznine sahip olup olmadığını belirlemek için userLicense.get
yöntemini çağırır.
GET /appsmarket/v2/userLicense/{applicationId}/{userId}
curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/userLicense/{applicationId}/[email protected]
Yanıt gövdesi
Uygulamada yalnızca [email protected] için yönetici tarafından yüklenmiş olduğundan yanıt, [email protected] için bir kullanıcı lisansı döndürür. Burada enabled
, true
ve state
değeri ACTIVE
olur.
{
"kind": "appsmarket#userLicense",
"enabled": true,
"state": "ACTIVE",
"editionId": "default_edition",
"customerId": "domain1.com",
"applicationId": "{APPLICATION_ID}",
"id": "{USER_LICENSE_ID}",
"userId": "[email protected]"
}
Uygulama, kuruluştaki herkes için silinir
Uygulama, kuruluştaki herkes için silindi. Uygulamayı daha önce ayrı olarak yüklediğinden, kullanıcı[email protected] adlı kullanıcı uygulamaya hâlâ erişebilir.
userLicense.get isteği
Bu istek, [email protected]'un lisanslama durumunu öğrenmek ve uygulamayı kullanma iznine sahip olup olmadığını belirlemek için userLicense.get
yöntemini çağırır.
GET /appsmarket/v2/userLicense/{applicationId}/{userId}
curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/userLicense/{applicationId}/[email protected]
Yanıt gövdesi
Uygulama kuruluştaki herkes için silindiğinden yanıt, [email protected] için bir kullanıcı lisansı döndürür. Burada enabled
false
, state
ise UNLICENSED
olur. Bu da, bu kullanıcının alan yöneticisinin bu kullanıcıya uygulama için bir yer atamadığını gösterir.
{
"kind": "appsmarket#userLicense",
"enabled": false,
"state": "UNLICENSED",
"applicationId": "{APPLICATION_ID}",
"id": "{USER_LICENSE_ID}",
"userId": "[email protected]"
}
userLicense.get isteği
Bu istek, [email protected]'un lisanslama durumunu almak ve uygulamayı kullanma iznine sahip olup olmadığını belirlemek için userLicense.get
yöntemini çağırır.
GET /appsmarket/v2/userLicense/{applicationId}/{userId}
curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/userLicense/{applicationId}/[email protected]
Yanıt gövdesi
[email protected] daha önce uygulamayı bireysel olarak yüklediğinden, bu kullanıcının uygulamayı kullanma izni hâlâ mevcuttur. Yanıt, enabled
değerinin true
ve state
değerinin ACTIVE
olduğu bir kullanıcı lisansı döndürür.
{
"kind": "appsmarket#userLicense",
"enabled": true,
"state": "ACTIVE",
"editionId": "default_edition",
"customerId": "[email protected]",
"applicationId": "{APPLICATION_ID}",
"id": "{USER_LICENSE_ID}",
"userId": "[email protected]"
}
Yukarıdaki tüm işlemlerden gelen lisans bildirimleri
lisansıBildirim.list isteği
licenseNotification.list
yöntemine yapılan bir istek, uygulamaya ilişkin tüm lisanslama bildirimlerini alır.
GET /appsmarket/v2/licenseNotification/{applicationId}
curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/licenseNotification/{applicationId}
Yanıt gövdesi
Yanıt, yukarıda gerçekleştirilen tüm işlemler için bir lisans bildirimleri listesi döndürür.
{
"kind": "appsmarket#licenseNotificationList",
"notifications": [
{
"kind": "appsmarket#licenseNotification",
"id": "{LICENSE_NOTIFICATION_ID}",
"applicationId": "{APPLICATION_ID}",
"customerId": "[email protected]",
"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}"
}