Bu kılavuzda, Google Workspace Marketplace API'ye gönderilen örnek istekler ve API'den alınan yanıtlar sağlanarak Google Workspace Marketplace uygulama yükleme ve lisanslama ayrıntılarının nasıl alınacağı gösterilmektedir.
Uygulama henüz yüklenmemiş
licenseNotification.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ğinden bu istek için verilen yanıtta lisanslama bildirimi yer almaz.
{
"kind": "appsmarket#licenseNotificationList",
"nextPageToken": ""
}
Uygulama ayrı ayrı yüklenir
user1@domain1.com adlı bir kullanıcı, uygulamayı Google Workspace Marketplace'ten tek tek yükledi.
licenseNotification.list isteği
Bu istek, licenseNotification.list
yöntemini çağırır ve kullanıcı tarafından yüklenen uygulamanın 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ı user1@domain1.com yüklediği için yanıtta bir lisans bildirimi yer alır. Uygulamayı yükleyen user1@domain1.com kullanıcısı için yeni bir lisans ayrıldığı için lisans bildirimi bir provision 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üklendi
domain1.com alanının yöneticisi, uygulamayı kuruluştaki herkes için yükledi.
userLicense.get isteği
Bu istek, user1@domain1.com kullanıcısının lisanslama durumunu almak ve kullanıcının 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
Uygulama, alan1.com alanına yönetici tarafından yüklendiğinde yanıtta, alan1.com alan yöneticisinin bu alan için uygulamayı etkinleştirdiğini belirten enabled
true
ve kullanıcı1@alan1.com için geçerli bir lisansa sahip olduğunu ve uygulamayı kullanmasına izin verilmesi gerektiğini belirten state
ACTIVE
değerleri döndürülü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"
}
customerLicense.get isteği
Bu istek, uygulamaya erişip erişemediklerini belirlemek için domain1.com'un lisanslama durumunu almak üzere 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, state
değerinin ACTIVE
olduğu domain1.com için müşteri lisansını döndürür. Bu, müşterinin geçerli bir lisansa sahip olduğunu gösterir.
{
"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 (OU) için yönetici tarafından yüklenir.
Uygulama artık yalnızca user2@domain1.com kullanıcısının kuruluş birimi için yönetici tarafından yüklenmiştir. Artık kuruluştaki herkes için yönetici tarafından yüklenmiyor.
userLicense.get isteği
Bu istek, user3@domain1.com kullanıcısının lisanslama durumunu almak ve kullanıcının uygulamayı kullanma izni 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
Uygulama yalnızca kullanici2@alan1.com için yönetici tarafından yüklendiğinden, yanıtta kullanici3@alan1.com için bir kullanıcı lisansı döndürülür. Bu yanıtta enabled
, alan1.com alan yöneticisinin bu alan için uygulamayı etkinleştirmediğini belirten false
değerini, state
ise kullanıcının geçerli bir lisansa sahip olduğunu ve uygulamayı kullanmasına izin verilmesi gerektiğini belirten ACTIVE
değerini alır.
{
"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, user2@domain1.com kullanıcısının lisanslama durumunu almak ve kullanıcının 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 yalnızca kullanici2@alan1.com için yönetici haklarıyla yüklendiğinden yanıtta, kullanici2@alan1.com için enabled
değerinin true
ve state
değerinin ACTIVE
olduğu bir kullanıcı lisansı döndürülür.
{
"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. Daha önce uygulamayı tek tek yüklediği için user1@domain1.com kullanıcısı uygulamaya erişmeye devam eder.
userLicense.get isteği
Bu istek, user2@domain1.com kullanıcısının 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}/user2@domain1.com
Yanıt gövdesi
Uygulama, kuruluştaki herkes için silindiğinden yanıtta, enabled
false
ve state
UNLICENSED
olan user2@domain1.com için bir kullanıcı lisansı döndürülür. Bu, bu kullanıcının alanının yöneticisinin uygulama için bu kullanıcıya koltuk 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, user1@domain1.com kullanıcısının lisanslama durumunu almak ve kullanıcının 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
user1@domain1.com kullanıcısı daha önce uygulamayı ayrı ayrı yüklediği için uygulamayı kullanma iznine hâlâ sahiptir. Yanıt, enabled
'nin true
ve state
'nin 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
licenseNotification.list isteği
licenseNotification.list
yöntemine gönderilen bir istek, uygulamanın 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 lisans bildirimlerinin listesini 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}"
}