Uygulama yükleme ve lisanslamayla ilgili ayrıntıları alma

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}"
}