我已在我的Web应用程序(使用Spring Boot构建)中使用了Google adsense管理API Java客户端库,以便在管理控制台中使用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保护,并且不允许使用随机端口)。
解决此问题的替代方法是什么?