我公司的网站正在使用谷歌分析来跟踪各种细节,现在我们需要从谷歌分析服务器获取所有这些原始数据并使用内部工具进行处理。
我使用 HelloAnalytics 示例代码(Analytics V4 和 oAuth 2.0)创建了一个小的 Java 代码,以从 google 服务器获取会话数据。当我从我的个人计算机上运行相同的代码时,它运行良好;但是当我尝试从公司网络执行相同操作时,它无法抛出“连接超时”或“无法识别的 SSL 消息,明文连接?” .
这些问题显然是由于我公司使用的防火墙或代理服务器造成的。我想知道是否有任何方法可以从使用代理服务器的公司网络连接到 Google Analytics。
我添加了http.proxyHost和http.proxyPort作为系统属性,没有任何改变,得到了同样的错误。但是当我添加https.proxyHost和https.proxyPort而不是 http 端口时,它开始抛出错误消息“PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到请求目标的有效认证路径”
谷歌文档没有多大帮助:(。任何帮助都非常感谢。
我的参考代码:
HttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport();
JsonFactory JSON_FACTORY = GsonFactory.getDefaultInstance();
//Trying both Explict token and also Client-Serect.json
GoogleCredential credential2 = new GoogleCredential().setFromTokenResponse(new TokenResponse().setAccessToken("Some token"));
GoogleCredential credential = GoogleCredential.fromStream(new FileInputStream("client-secret.json")).createScoped(AnalyticsReportingScopes.all());
AnalyticsReporting service = new AnalyticsReporting.Builder(httpTransport, JSON_FACTORY, credential).build();
GetReportsRequest getReport = //Create the report object to fetch user sessions
GetReportsResponse response = service.reports().batchGet(getReport).execute();