使用Core Reporting Google API v4(Java)显示超过10000行
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了使用Core Reporting Google API v4(Java)显示超过10000行,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2044字,纯文字阅读大概需要3分钟。
内容图文
![使用Core Reporting Google API v4(Java)显示超过10000行](/upload/InfoBanner/zyjiaocheng/810/8fc71f15594447f29b32896617af2964.jpg)
我使用Core Reporting API v4获取Google Analytics数据.对于给定的Dimensions&组合,我能够捕获最多10,000条记录.指标.
我的问题是,如果我的查询可以产生超过10,000个搜索结果,那么我该如何获取所有这些记录?我已经阅读了文档,发现在单个请求中,我们无法通过设置ReportRequest对象的属性来访问超过10,000条记录.
ReportRequest request = new ReportRequest()
.setDateRanges(Arrays.asList(dateRange))
.setViewId(VIEW_ID)
.setDimensions(Arrays.asList(dimension))
.setMetrics(Arrays.asList(metric))
.setPageSize(10000);
我们如何在一次运行中启用多个请求,具体取决于可以获得的搜索结果的数量.
例如:如果我的查询可以返回35,000条记录,那么应该有4条内部管理的请求(10,000,10,000,10,000和3,500).
请仔细研究并为我提供一些指导.提前致谢.
解决方法:
这是一个稳定且经过广泛测试的Java解决方案.它是一个递归解决方案,存储每10000个结果批处理(如果有的话)并回忆自己,直到找到null nextToken.在此特定解决方案中,每10000个结果批处理保存到csv中,然后执行递归调用!注意,这个函数第一次从外面的某个地方调用时,nextPageToken也是null!专注于递归理论和空值检查!
private static int getComplexReport(AnalyticsReporting service,int
reportIndex,java.lang.String startDate,String endDate,ArrayList<String>
metricNames,ArrayList<String> dimensionNames,String pageToken)
throws IOException
ReportRequest req = createComplexRequest(startDate,endDate,metricNames,dimensionNames,pageToken);
ArrayList<ReportRequest> requests = new ArrayList<>();
requests.add(req);
// Create the GetReportsRequest object.
GetReportsRequest getReport = new GetReportsRequest()
.setReportRequests(requests);
// Call the batchGet method.
GetReportsResponse response = service.reports().batchGet(getReport).execute();
//printResponse(response);
saveBatchToCsvFile("dummy_"+startDate+"_"+endDate+"_"+Integer.toString(reportIndex)+".csv",startDate+"_"+endDate,response,metricNames,dimensionNames);
String nextToken = response.getReports().get(0).getNextPageToken();
//System.out.println(nextToken);
if(nextToken!=null)
return getComplexReport(service,reportIndex+1,"2016-06-21","2016-06-21",metricNames,dimensionNames,nextToken);
return reportIndex;
}
内容总结
以上是互联网集市为您收集整理的使用Core Reporting Google API v4(Java)显示超过10000行全部内容,希望文章能够帮你解决使用Core Reporting Google API v4(Java)显示超过10000行所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。