需要授权
使用您定义的过滤条件和参数查询搜索流量数据。该方法会返回零行或多行,这些行按您定义的行键(维度)分组。您必须定义一个或多个日期的时间范围。
如果日期是其中一个维度,则结果列表中会省略任何没有数据的日期。如需了解哪些日期有数据,请针对感兴趣的时间范围发出不带过滤条件且按日期分组的查询。
结果按点击次数降序排序。如果两行的点击次数相同,则按任意方式排序。
如需调用此方法,请参阅 Python 示例。
该 API 受 Search Console 内部限制的约束,不保证返回所有数据行,而是返回主要数据行。
POST https://www.googleapis.com/webmasters/v3/sites/https%3A%2F%2Fwww.example.com%2F/searchAnalytics/query?key={MY_API_KEY}
{
"startDate": "2015-04-01",
"endDate": "2015-05-01",
"dimensions": ["country","device"]
}请求
HTTP 请求
POST https://www.googleapis.com/webmasters/v3/sites/siteUrl/searchAnalytics/query
参数
| 参数名称 | 值 | 说明 |
|---|---|---|
| 路径参数 | ||
siteUrl |
string |
Search Console 中定义的资源网址。示例:
http://www.example.com/(适用于网址前缀资源)或
sc-domain:example.com(适用于网域资源)
|
授权
此请求需要获得以下至少一个范围的授权(详细了解身份验证和授权)。
| 范围 |
|---|
https://www.googleapis.com/auth/webmasters.readonly |
https://www.googleapis.com/auth/webmasters |
请求正文
在请求正文中,请按以下结构提供数据:
{
"startDate": string,
"endDate": string,
"dimensions": [
string
],
"type": string,
"dimensionFilterGroups": [
{
"groupType": string,
"filters": [
{
"dimension": string,
"operator": string,
"expression": string
}
]
}
],
"aggregationType": string,
"rowLimit": integer,
"startRow": integer
}| 属性名称 | 值 | 说明 | 备注 |
|---|---|---|---|
startDate |
string |
[必需] 所请求时间范围的开始日期,采用 YYYY-MM-DD 格式,以太平洋时间 (UTC - 7:00/8:00)为准。必须小于或等于结束日期。此值包含在范围内。 | |
endDate |
string |
[必需] 所请求时间范围的结束日期,采用 YYYY-MM-DD 格式,以太平洋时间 (UTC - 7:00/8:00) 为准。必须大于或等于开始日期。此值包含在范围内。 | |
dimensions[] |
list |
[可选] 用于对结果进行分组的零个或多个维度。 结果会按照您提供这些维度的顺序进行分组。您可以使用 dimensionFilterGroups[].filters[].dimension 中的任何维度名称,以及“date”和“hour”。分组维度值会组合在一起,为每个结果行创建一个唯一键。如果未指定任何维度,所有值都将合并为一行。您可以按任意数量的维度进行分组,但不能按同一维度分组两次。示例: [国家/地区, device] | |
searchType |
string |
已废弃,请改用 type代替
|
|
type |
string |
[可选] 将结果过滤为以下类型:
|
|
dimensionFilterGroups[] |
list |
[可选] 要应用于维度分组值的零个或多个过滤条件组。所有过滤条件组都必须匹配,才能在响应中返回一行。在单个过滤条件组中,您可以指定所有过滤条件都必须匹配,还是至少一个过滤条件必须匹配。 | |
dimensionFilterGroups[].groupType |
string |
此组中的所有过滤条件都必须返回 true ("and"),还是一个或多个过滤条件必须返回 true (尚未支持)。
可接受的值:
|
|
dimensionFilterGroups[].filters[] |
list |
[可选] 用于针对行进行测试的零个或多个过滤条件。每个过滤条件都包含
维度名称、运算符和值。最长 4096 个字符。示例:
country equals FRA query contains mobile use device notContains tablet |
|
dimensionFilterGroups[].filters[].dimension |
string |
此过滤条件所应用的维度。您可以按此处列出的任何维度进行过滤,即使您未按该维度进行分组也是如此。
可接受的值:
|
|
dimensionFilterGroups[].filters[].operator |
string |
[可选] 您指定的值必须如何匹配(或不匹配)行的维度值。
可接受的值: |
|
dimensionFilterGroups[].filters[].expression |
string |
过滤条件要匹配或排除的值,具体取决于运算符。 | |
aggregationType |
string |
[可选] 数据的汇总方式。如果按资源汇总,则汇总同一资源的所有数据 ;如果按网页汇总,则按规范 URI 汇总所有数据。如果您按网页过滤或分组,请选择“自动”;否则,您可以按 资源或按网页汇总,具体取决于您希望如何计算数据;如需了解网站数据与网页数据的计算方式有何不同,请参阅 帮助文档 。 注意: 如果您按网页分组或过滤,则无法按资源汇总。 如果您指定了除“自动”以外的任何 值,则结果中的汇总类型将与请求的类型匹配; 如果您请求的类型无效,则会收到错误。如果请求的类型无效,API 绝不会更改您的汇总类型。 可接受的值:
|
|
rowLimit |
integer |
[可选;有效范围为 1-25,000;默认值为 1,000] 要返回的最大行数。如需分页浏览结果,请使用 startRow 偏移量。 |
|
startRow |
integer |
[可选;默认值为 0] 响应中第一行的从零开始的索引。必须是非负数。如果 startRow 超出查询结果的数量,响应将是包含零行的成功响应。 |
|
dataState |
string |
[可选] 如果为“all”(不区分大小写),数据将包含 最新数据。 如果为“final”(不区分大小写)或省略此参数,则返回的数据将仅包含最终数据。 如果为“hourly_all”(不区分大小写),数据将包含每小时细分数据。这表示每小时数据包含部分数据,应在按 HOUR API 维度分组时使用。 |
响应
结果会根据请求中指定的维度进行分组。具有相同维度值集的所有值都将分组为一行。例如,如果您按国家/地区维度分组,则“usa”的所有结果将分组在一起,“mdv”的所有结果将分组在一起,依此类推。如果您按国家/地区和设备分组,则“usa, tablet”的所有结果将分组在一起,“usa, mobile”的所有结果将分组在一起,依此类推。如需了解点击次数、展示次数等的具体计算方式及其含义,请参阅搜索分析报告文档。
结果按点击次数降序排序,除非您按日期分组,在这种情况下,结果按日期升序排序(最早的在前,最新的在后)。如果两行之间存在并列情况,则排序顺序是任意的。
如需了解可以返回的最大值数量,请参阅请求中的 rowLimit 属性。
{
"rows": [
{
"keys": [
string
],
"clicks": double,
"impressions": double,
"ctr": double,
"position": double
}
],
"responseAggregationType": string
}| 属性名称 | 值 | 说明 | 备注 |
|---|---|---|---|
rows[] |
list |
按查询中给定的键值顺序分组的行列表。 | |
rows[].keys[] |
list |
该行的维度值列表,根据请求中的维度分组,并按照请求中指定的顺序排列。 | |
rows[].clicks |
double |
该行的点击次数。 | |
rows[].impressions |
double |
该行的展示次数。 | |
rows[].ctr |
double |
该行的点击率 (CTR)。值的范围为 0 到 1.0(含)。 | |
rows[].position |
double |
在搜索结果中的平均排名。 | |
responseAggregationType |
string |
结果的汇总方式。如需了解网站数据与网页数据的计算方式有何不同,请参阅帮助文档。
可接受的值:
|
|
metadata |
object |
一个对象,可能会与查询结果一起返回,提供有关数据状态的 上下文。 当您请求近期数据(对
此对象中提供的所有日期和时间均采用 此对象中返回的具体字段取决于您在请求中对数据进行分组的方式:
|
试试看!
使用下面的 API Explorer 对实际数据调用此方法,然后查看响应。