Переустановка ранее удаленного приложения 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 от имени пользователя?