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
kullanici1@alanadi1.com 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ı kullanici1@alan1.com yüklediği için yanıtta bir lisans bildirimi yer alır. Uygulamayı yüklediğinde kullanici1@alan1.com 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": "user1@domain1.com",
"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, kullanici1@alan1.com'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}/user1@domain1.com
Yanıt gövdesi
Alan1.com'da uygulama yönetici tarafından yüklenmiş olduğundan yanıt, kullanici1@alan1.com 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ı1@alan1.com'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": "user1@domain1.com",
"applicationId": "{APPLICATION_ID}",
"id": "{USER_LICENSE_ID}",
"userId": "user1@domain1.com"
}
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 kullanici2@alanadi1.com'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, kullanici3@alan1.com'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}/user3@domain1.com
Yanıt gövdesi
Uygulamada yalnızca kullanici2@alan1.com için yüklü olan uygulama olduğundan yanıt, kullanici3@alan1.com 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": "user3@domain1.com"
}
userLicense.get isteği
Bu istek, kullanici2@alan1.com'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}/user2@domain1.com
Yanıt gövdesi
Uygulamada yalnızca kullanici2@alan1.com için yönetici tarafından yüklenmiş olduğundan yanıt, kullanici2@alan1.com 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": "user2@domain1.com"
}
Uygulama, kuruluştaki herkes için silinir
Uygulama, kuruluştaki herkes için silindi. Uygulamayı daha önce ayrı olarak yüklediğinden, kullanıcı1@alan1.com adlı kullanıcı uygulamaya hâlâ erişebilir.
userLicense.get isteği
Bu istek, kullanici2@alan1.com'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}/user2@domain1.com
Yanıt gövdesi
Uygulama kuruluştaki herkes için silindiğinden yanıt, kullanici2@alan1.com 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": "user2@domain1.com"
}
userLicense.get isteği
Bu istek, kullanici1@alan1.com'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}/user1@domain1.com
Yanıt gövdesi
kullanici1@alanadi1.com 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": "user1@domain1.com",
"applicationId": "{APPLICATION_ID}",
"id": "{USER_LICENSE_ID}",
"userId": "user1@domain1.com"
}
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": "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}"
}