Я использовал клиентскую библиотеку Java API управления Google AdSense в своем веб-приложении (построено с использованием весенней загрузки), чтобы использовать отчет AdSense на панели администратора. Я использовал следующие коды для установления учетных данных.
GoogleAuthorizationCodeFlow flow = new GoogleAuthorizationCodeFlow
.Builder( httpTransport, JSON_FACTORY, clientSecrets,Collections.singleton(AdSenseScopes.ADSENSE_READONLY))
.setDataStoreFactory(dataStoreFactory)
.setAccessType("offline")
.build();
// authorize
LocalServerReceiver receiver = new LocalServerReceiver.Builder()
.setHost("DOMAIN NAME")
.build();
return new AuthorizationCodeInstalledApp(flow, receiver).authorize("user");
Кажется, что Google API автоматически добавляет http, а также добавляет случайные порты в URL обратного вызова, чтобы выдать токен ответа, из-за которого он не может найти сайт. Также мы не можем указать другие порты, кроме 443 по соображениям безопасности. Он работает как на локальном сервере, так и на сервере разработки, но не на рабочем сервере (поскольку сайт защищен https и не допускает случайных портов).
Какая альтернатива для решения этой проблемы ??