Установка ранее удаленного приложения Marketplace меняет состояние лицензии клиента на активное - PullRequest
0 голосов
/ 15 мая 2019

Переустановка ранее удаленного приложения Marketplace не меняет состояние customerLicense на LICENSED.

Я хочу убедиться, что пользователь-администратор GSuite может беспрепятственно установить установку нашего приложения Marketplace после того, как они удалили его изих домен GSuite через панель «Приложения» в приложении «Администратор GSuite».

После того, как пользователь с правами администратора нажимает «Установка домена» на торговой площадке, они проходят через модальности предоставления и соглашения, такие же, как при первоначальной установке.В конце у них есть возможность выполнить дополнительную настройку или завершить процесс и «запустить» наше приложение.

Проблема, с которой я сталкиваюсь, заключается в получении Лицензии клиента или Уведомления о лицензии для домена клиента не отображают активную лицензию или уведомления о новой лицензии.

После того, как пользователь переустановит приложение и пройдет процесс предоставления / условий обслуживания, я ожидаюэтот вызов API для возврата 'state = LICENSED' или уведомлений о новой лицензии:

    domain = 'example.com'
    scopes = ["https://www.googleapis.com/auth/appsmarketplace.license"]
    signing_key = OpenSSL::PKey::RSA.new(ENV["GOOGLE_PRIVATE_KEY"])

    client = Google::APIClient.new(application_name: "My app", application_version: "0.0.1")
    client.retries = 3
    client.authorization = Signet::OAuth2::Client.new(
      token_credential_uri: "https://accounts.google.com/o/oauth2/token",
      audience: "https://accounts.google.com/o/oauth2/token",
      issuer: ENV["GOOGLE_SERVICE_ACCOUNT"],
      signing_key: signing_key,
      scope: scopes
    )
    client.authorization.fetch_access_token!

    licensing_api = client.discovered_api("appsmarket", "v2")
    result = client.execute(
      licensing_api.customer_license.get,
      applicationId: ENV["GOOGLE_APP_ID"],
      customerId: domain
    )
    result.data["state"] # => "UNLICENSED"

    result2 = client.execute(
      licensing_api.license_notification.list,
      applicationId: ENV["GOOGLE_APP_ID"],
      timestamp: 14.days.ago.utc.strftime("%s%L")
    )
    result2.data["notifications"] # => no new entries

Я ожидаю, что после новой установки или переустановки я смогу использовать Уведомления о лицензиях для проактивного обнаружения новыхпользователей и инициировать синхронизацию данных от их имени.По крайней мере, я бы ожидал, что Customer License будет отражать, что приложение теперь лицензировано для домена администратора.

Не понимаю ли я что-то о том, как лицензируются приложения Marketplace или как лицензирование связано с тем, что приложение Marketplace имеет разрешениезапросить домен GSuite от имени пользователя?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...