【问题标题】:Google Analytics API limit of Data range extraction issue数据范围提取问题的 Google Analytics API 限制
【发布时间】:2019-08-05 08:51:26
【问题描述】:

我正在尝试使用 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 中找不到关于这些限制的任何信息。

【问题讨论】:

  • 您收到的错误信息是什么?
  • @DaImTo 没有错误.. 我发现 0 行
  • 如果您没有收到错误,则该请求没有数据。可能是当时未创建此视图,或者您请求的数据不存在。
  • @DaImTo 但是当我将数据范围更改为过去 14 个月内的某个值时,我得到了数据
  • 那么相关视图仅在过去 14 个月内处于活动状态

标签: java google-api google-analytics-api google-api-java-client quota


【解决方案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

以下配额适用于所有报告 API,包括 Core Reporting API v3、Analytics Reporting API v4、Real Time API v3 和 Multi-channel Funnel API v3:

  • 每天每个视图(配置文件)10,000 个请求(无法增加)
  • 每个视图(配置文件)10 个并发请求(无法增加)

由于您尚未发布消息,我很难知道您达到了哪个配额。但是,如果您说它是一个单一的视图,那么我会向我建议这是 10000 个请求数据配额,并且该视图必须比您的其他视图具有更多的数据。 您无法做任何事情来延长此配额。您只能调整您的请求,以便发出更少的请求。

注意:google 没有使用与您相同的客户端 ID,因此它们不受您的客户端限制的约束。如果您的客户超出配额,那么它就无法工作。这不会影响谷歌分析网站。

没有数据

如果请求返回零行,则这不是配额问题,因为您请求的日期和元数据根本没有数据。

我怀疑您使用的所有过滤器都存在问题。

仅使用 ga:date 维度和 ga:sessions 指标运行请求。不要添加您的过滤器。在 2010-01-01 - 2019-01-01 运行它,这应该可以帮助您找出数据开始记录的位置,或者您添加的所有过滤器是否存在问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-03-15
    • 2023-04-03
    • 1970-01-01
    • 2014-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多