Java 如何停止Google Analytics默认查询超时(我相信是60秒)

Java 如何停止Google Analytics默认查询超时(我相信是60秒),java,google-analytics,timeout,google-analytics-api,Java,Google Analytics,Timeout,Google Analytics Api,我正在使用Pentaho数据集成,一个开源ETL/数据传输工具 该工具基于java构建,并使用服务帐户和密钥文件向Google Analytics API发出请求 问题是——Google Analytics API似乎有一个默认的服务器端超时,在它停止并出错之前正好有60秒 现在,我确实遇到了以下信息来延长超时时间: private HttpRequestInitializer setHttpTimeout(final HttpRequestInitializer requestInitial

我正在使用Pentaho数据集成,一个开源ETL/数据传输工具

该工具基于java构建,并使用服务帐户和密钥文件向Google Analytics API发出请求

问题是——Google Analytics API似乎有一个默认的服务器端超时,在它停止并出错之前正好有60秒

现在,我确实遇到了以下信息来延长超时时间:

 private HttpRequestInitializer setHttpTimeout(final HttpRequestInitializer requestInitializer) {
  return new HttpRequestInitializer() {
    @Override
    public void initialize(HttpRequest httpRequest) throws IOException {
      requestInitializer.initialize(httpRequest);
      httpRequest.setConnectTimeout(3 * 60000);  // 3 minutes connect timeout
      httpRequest.setReadTimeout(3 * 60000);  // 3 minutes read timeout
    }
  };

GoogleCredential credential = ....

final Analytics analytics = Analytics.builder(new NetHttpTransport(), jsonFactory, setHttpTimeout(credential)).build();
唯一的问题是,我不确定如何结合第三方工具PDI来实现这一点——我可以执行一个独立的Java代码——但我不确定上面的脚本是否会永久性地增加给定帐户的超时时间,或者只增加会话的超时时间

有没有简单的方法可以在不必执行复杂代码的情况下延长帐户的Google Analytics超时时间


如果没有,我该如何准确地使用上面的代码段?

您要获取什么样的数据?您使用的是哪种API?此外,我不认为GA需要太多时间来响应,即超过60秒。这应该是与代码相关的问题。你可以在Google Analytics API中轻松浏览60秒。因为你可以很快得到非常颗粒。例如,按目标页面获取一个月的“pageview”数据就可以了。然而,即使花了几天时间的“上一页->目标页”组合(我们有1000个不同的页面)。。。从每天1000个值开始。。。到每天1000000个值。我们有这么多的自定义URL参数在我们的网站上。。。我不确定是否有办法从API中过滤掉这些预取。重点是。。。可以轻松地超过60秒。。。我需要更改GA中的超时时间。您可以检查API响应需要多少时间吗?查询浏览器的速度明显更快。尽管它可能已经被谷歌进行了大量优化,也可能不像Pentaho PDI ETL工具那样基于Java。除非我想从头开始创建自己的脚本,否则获取时间就是这样。尽管如此,优化获取时间与有效地删除超时参数有点不同,尽管它也可以解决问题。