我正在尝试使用Java客户端库从Google Analytics(分析)API中提取一些维度和指标数据。
对于一个特定的viewID,从今天开始,我提取的数据不能超过14个月2天。我仅在Java客户端库和API以及某些特定视图下才遇到此问题。在Google界面中,我可以看到没有14个月限制的所有报告。
此Java代码:
DateRange dateRange = new DateRange().setStartDate(startDate).setEndDate(endDate);
DimensionFilter dimensionFilter = new DimensionFilter();
dimensionFilter.setDimensionName("ga:medium");
dimensionFilter.setOperator("EXACT");
dimensionFilter.setExpressions(Collections.singletonList("organic"));
DimensionFilterClause dimensionFilterClause = new DimensionFilterClause();
dimensionFilterClause.setFilters(Collections.singletonList(dimensionFilter));
MetricFilter metricFilter = new MetricFilter();
metricFilter.setMetricName("ga:sessions");
metricFilter.setNot(true);
metricFilter.setComparisonValue("0");
MetricFilterClause metricFilterClause = new MetricFilterClause();
metricFilterClause.setFilters(Collections.singletonList(metricFilter));
ReportRequest reportRequest = new ReportRequest()
.setViewId(viewID)
.setDateRanges(Collections.singletonList(dateRange))
.setSamplingLevel(samplinglevel.name())
.setPageSize(100000)
.setDimensionFilterClauses(Collections.singletonList(dimensionFilterClause))
.setMetricFilterClauses(Collections.singletonList(metricFilterClause))
.setDimensions(dimensionList)
.setMetrics(metricList)
.setIncludeEmptyRows(false);
我通常可以无限制地提取所有其他视图,但是对于特定的客户却发现了这个问题。
您对此限制问题有任何想法吗?
我在Java中找不到有关这些限制的任何信息。
答案 0 :(得分:1)
Google Analytics(分析)API有许多配额。 Limits and Quotas
常规配额限制
每个项目每天
- 50,000个请求,可以增加。
每个IP地址每秒- 10个查询(QPS)。 在API控制台中,有一个类似的配额,称为每用户每100秒请求数。默认情况下,它设置为每用户每100秒100个请求,并且可以调整为最大值1,000。但是对API的请求数限制为每位用户每秒最多10个请求。
- 如果您的应用程序通过一个IP地址(即代表您的用户)发出所有API请求,请对每个请求使用userIP或quotaUser参数,以获取每个用户的完整QPS配额。有关详细信息,请参见标准查询参数摘要。
报告API
以下配额适用于所有Reporting API,包括Core Reporting API v3,Analytics Reporting API v4,Real Time API v3和Multi-channel Funnel API v3:
每天每个视图(配置文件)
- 10,000个请求(无法增加)
- 每个视图(配置文件)10个并发请求(无法增加)
由于您尚未发布消息,因此我很难知道您要达到哪个配额。但是,如果您说的是单个视图,那么我会建议我这是10000个请求的数据配额,并且该视图必须比其他视图包含更多数据。 您无法采取任何措施来扩展此配额。您只能调整您的请求,以使发出的请求更少。
注意:google使用的客户端ID与您使用的客户端ID不同,因此不受客户端的限制。如果您的客户端超出配额,则它将无法正常工作。这不会影响Google Analytics(分析)网站。
如果请求返回零行,那么这不是配额问题,根本就没有您请求的日期和元数据的数据。
我怀疑您正在使用的所有过滤器都存在问题。
仅使用ga:date维度和ga:sessions指标运行请求。不要添加您的过滤器。在2010年1月1日至2019年1月1日运行它,这应该可以帮助您找到开始记录数据的位置,或者是否与添加的所有过滤器有关。