以下限制和配额适用于 Data API。
配额的应用方式
对 Google Analytics(分析)Data API v1 发出的所有请求都需要 Google Cloud 项目,并且受本页所述配额的约束。无论使用哪种方法来标识调用项目,配额都会被消耗,包括:
- 使用 OAuth 2.0 凭据进行身份验证的请求。
- 仅使用 API 密钥进行身份验证的请求。
API 密钥用于将请求与特定的 Google Cloud 项目关联,以进行配额和结算。使用项目中的凭据或 API 密钥发出的所有 API 调用都将计入项目和 Google Analytics 媒体资源的适用配额。
配额类别
Data API 有三个请求配额类别:核心、实时和漏斗图。向核心方法发出的 API 请求会消耗核心配额。向实时方法发出的 API 请求会消耗实时配额。每个请求仅消耗一种配额。
| 配额类别 | API 方法 |
|---|---|
| 核心 | runReport、runPivotReport、batchRunReports、batchRunPivotReports、runAccessReport、getMetadata、checkCompatibility、createAudienceExports |
| 实时 | runRealtimeReport |
| 漏斗图 | runFunnelReport |
Google Analytics 媒体资源配额
所有请求都会消耗媒体资源配额。
| 配额名称 | 标准版媒体资源的数量上限 | Analytics 360 版媒体资源数量上限 |
|---|---|---|
| 每项媒体资源每天的核心令牌数 | 200,000 | 2,000,000 |
| 每项媒体资源每小时的核心令牌数 | 40,000 | 400,000 |
| 每个项目每项媒体资源每小时的核心令牌数 | 14,000 | 140,000 |
| 每项媒体资源的核心并发请求数 | 10 | 50 |
| 每个项目每项媒体资源每小时的核心服务器错误数 | 10 | 50 |
| 每项媒体资源每天的实时令牌数 | 200,000 | 2,000,000 |
| 每项媒体资源每小时的实时令牌数 | 40,000 | 400,000 |
| 每个项目每项媒体资源每小时的实时令牌数 | 14,000 | 140,000 |
| 每项媒体资源的实时并发请求数 | 10 | 50 |
| 每个项目每项媒体资源每小时的实时服务器错误数 | 10 | 50 |
| 每项媒体资源每天的漏斗图令牌数 | 200,000 | 2,000,000 |
| 每项媒体资源每小时的漏斗图令牌数 | 40,000 | 400,000 |
| 每个项目每项媒体资源每小时的漏斗图令牌数 | 14,000 | 140,000 |
| 每项媒体资源的漏斗图并发请求数 | 10 | 50 |
| 每个项目每项媒体资源每小时的漏斗图服务器错误数 | 10 | 50 |
- 并发请求数是指同时执行的请求数。如需减少请求并发数,请等待之前的请求完成,然后再发送其他请求。
- 服务器错误是指 500 和 503 代码。只有当请求导致服务器错误时,才会消耗服务器错误配额。当项目和媒体资源对的服务器错误配额耗尽时,来自该项目的所有对该媒体资源的请求都会被屏蔽。如需查看完整的错误响应列表,请参阅 错误响应。
- 每个请求都会消耗“每项媒体资源每小时的令牌数”和“每个项目每项媒体资源每小时的令牌数”配额。这意味着,只有当一个媒体资源被 3 个以上的项目访问时,“每项媒体资源每小时的令牌数”配额才会先于“每个项目每项媒体资源每小时的令牌数”配额耗尽。
媒体资源每小时最多可以发出 120 个可能受阈值限制的请求。userAgeBracket、userGender、brandingInterest、audienceId 和 audienceName 维度可能会受到阈值限制。我们之所以应用阈值,是为了防止查看报告的人通过其中的数据推断出具体用户的受众特征或兴趣。
媒体资源令牌配额
每次向 Google Analytics(分析)Data API v1 发出请求时,都会消耗令牌。消耗的令牌数量取决于请求的复杂程度。虽然大多数请求只会消耗 10 个或更少的令牌,但更复杂的请求会消耗更多令牌。
影响令牌消耗的因素
请求的确切令牌费用是在执行时确定的,因此很难进行精确的预先计算。费用受与请求本身以及 Google Analytics 媒体资源中的底层数据相关的一系列因素的影响。以下因素可能会导致费用增加:
- 行数 :请求的行数较多。
- 维度和指标的数量 :包含的维度和指标数量较多。
- 过滤条件的复杂程度 :使用复杂的过滤表达式。
- 日期范围的长度 :查询的时间段较长。
- 数据基数 :基数较高的维度(例如
pagePath、自定义维度等,具有许多唯一值)可能会显著增加令牌费用。 - 媒体资源事件量 :与在数据较少的媒体资源上执行相同的查询相比,在事件量较高的媒体资源上执行查询可能会消耗更多令牌。
监控令牌使用情况
确定特定 API 调用的令牌费用的最有效方法
是在请求正文中添加参数 "returnPropertyQuota": true。
然后,API 响应将包含 PropertyQuota 对象,其中详细说明了该特定请求消耗的令牌以及剩余的配额余额。