Bu kılavuz, Google Workspace Marketplace API'ye gönderilen ve bu API'den alınan örnek istekler ve yanıtlar sağlayarak Google Workspace Marketplace uygulaması yükleme ve lisanslama ayrıntılarının nasıl alınacağını gösterir.
Uygulama henüz yüklenmediyse
licenseNotification.list isteği
Bu istek, belirli bir uygulamayla ilgili 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 isteğe verilen yanıtta lisanslama bildirimleri yer almıyor.
{
"kind": "appsmarket#licenseNotificationList",
"nextPageToken": ""
}
Uygulama ayrı olarak yüklenir.
user1@domain1.com kullanıcısı, 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 uygulama için 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
user1@domain1.com uygulamayı yüklediğinden yanıtta bir lisans bildirimi yer alır. Kullanıcı1@alan1.com uygulamayı yüklediğinde yeni bir lisans sağlandığından lisans bildiriminde sağlama bildirimi yer alı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"
}
]
}
],
"nextPageToken": "{NEXT_PAGE_TOKEN}"
}
Uygulama, yönetici tarafından yüklenmiş olmalıdır.
domain1.com yöneticisi, uygulamayı kuruluştaki herkes için yükledi.
userLicense.get isteği
Bu istek, kullanici1@alan1.com kullanıcısının lisanslama durumunu almak ve 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}/user1@domain1.comYanıt gövdesi
domain1.com'da yönetici uygulamayı yüklediğinden, yanıtta enabled değerinin true olduğu, domain1.com alan yöneticisinin bu alan için uygulamayı etkinleştirdiğini belirten kullanici1@domain1.com için kullanıcı lisansı döndürülür. state değeri ACTIVE olduğundan, kullanici1@domain1.com adresinin geçerli bir lisansı olduğu ve uygulamayı kullanmasına izin verilmesi gerektiği belirtilir.
{
"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, domain1.com'un lisanslama durumunu almak için customerLicense.get yöntemini çağırır. Böylece, domain1.com'un uygulamaya erişimi olup olmadığı belirlenir.
GET /appsmarket/v2/customerLicense/{applicationId}/{customerId}
curl -H "Authorization: Bearer {TOKEN}" https://appsmarket.googleapis.com/appsmarket/v2/customerLicense/{applicationId}/domain1.comYanı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 lisansı 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üklenmişse
Uygulama artık yalnızca user2@domain1.com kullanıcısının kuruluş birimi için yönetici tarafından yüklenir. Artık kuruluşunuzdaki herkes için yönetici tarafından yüklenmez.
userLicense.get isteği
Bu istek, kullanici3@alan1.com kullanıcısının lisanslama durumunu almak ve 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.comYanı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 enabled değerinin false olduğu bir kullanıcı lisansı döndürülür. Bu, alan1.com alan yöneticisinin uygulama için bu alanı etkinleştirmediğini gösterir. state değeri ACTIVE olduğundan, kullanıcının geçerli bir lisansı olduğu ve uygulamayı kullanmasına izin verilmesi gerektiği belirtilir.
{
"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 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}/user2@domain1.comYanıt gövdesi
Uygulama yalnızca kullanici2@alan1.com için yönetici tarafından yüklendiğinden, yanıtta enabled değerinin true, state değerinin ise ACTIVE olduğu kullanici2@alan1.com için 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. Kullanıcı, user1@domain1.com, uygulamayı daha önce ayrı ayrı yüklediği için uygulamaya erişmeye devam ediyor.
userLicense.get isteği
Bu istek, user2@domain1.com kullanıcısının lisanslama durumunu almak ve 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}/user2@domain1.comYanıt gövdesi
Uygulama kuruluştaki herkes için silindiğinden yanıt, enabled değerinin false ve state değerinin UNLICENSED olduğu user2@domain1.com için kullanıcı lisansı döndürür. Bu, kullanıcının alanının yöneticisinin uygulamayı bu kullanıcıya 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 kullanıcısının lisanslama durumunu almak ve 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}/user1@domain1.comYanıt gövdesi
kullanici1@alan1.com uygulamayı daha önce ayrı olarak yüklediği için uygulamayı kullanma izni devam eder. Yanıt, enabled değerinin true ve state değerinin ACTIVE olduğu bir user license 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öntemi için yapılan 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}"
}