Bu kılavuzda, Google Workspace Marketplace API'den örnek istekler ve yanıtlar sağlanarak Google Workspace Marketplace uygulama yükleme ve lisanslama bilgilerinin nasıl alınacağı gösterilmektedir.
Uygulama henüz yüklenmedi
lisansbildirimi.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, kullanici1@alan1.com için kullanıcı lisansı döndürülür. Bu yanıtta enabled
true
ise alan1.com alan yöneticisinin bu alan için uygulamayı etkinleştirdiği, state
ACTIVE
ise kullanici1@alan1.com kullanıcısının geçerli bir lisansa sahip olduğu ve uygulamayı kullanmasına izin verilmesi gerektiği anlamına gelir.
{
"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
öğesinin ACTIVE
olduğu domain1.com için müşterinin geçerli bir lisansa sahip 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 belirli bir kullanıcının kuruluş birimi için yalnızca yönetici haklarıyla yüklenmiştir
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.
userLisans.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"
}
userLisans.get isteği
Bu istek, kullanici2@alan1.com adresinin 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 yalnızca kullanici2@alan1.com için yönetici haklarıyla yüklendiğinden yanıt, kullanici2@alan1.com için 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": "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, kullanici2@alan1.com adresinin 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 bir 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 sahip olmaya devam eder. 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}"
}