1

我正在使用搜索控制台 API v3 为某些属性提取搜索分析数据。我正在使用 googleapiclient 库(Python)进行 API 调用。Python 脚本发出 API 请求:

from googleapiclient import sample_tools

service, flags = sample_tools.init(['https://example.com/'], 'webmasters', 'v3', __doc__, __file__,
                                             # parents=[argparser],
                                              scope='https://www.googleapis.com/auth/webmasters.readonly')

rowlimit = 5000      #initialised variable to pass values of rowLimit and startRow
startrow = 0

request = {
               'startDate': '2017-05-10',
               'endDate': '2017-05-10',
               'dimensions': ['date','query'],
               'rowLimit': rowlimit,
               'aggregationType': 'byProperty',
               'startRow': startrow
}

response = execute_request(service, 'https://example.com/', request)

我们正在得到回应。现在有一个限制,我们不能给 rowLimit > 5000。

现在,对于每个请求,我们通常不会获得 5000 条记录。因此,对于下一次迭代,我通过记录设置 startRow 值,超出了我在第一个请求中得到的值。

即 startrow = startrow+record_count_in_first_request 所以,第二次迭代将有 startRow:startrow
rowLimit:5000

使用这种方法,我可以获得特定日期范围内的所有结果数据。

但现在我面临另一个问题。我使用 API 提取的指标值与控制台平台 (UI) 值不匹配。
我检查了特定日期范围内的点击次数和印象数,它与同一日期范围内的 UI 值不匹配。你认为为什么会这样?

当我使用 'dimensions': ['date', 'query'] 时也是如此,另一方面,当我使用 'dimensions': ['date', 'page']时,我得到了正确的结果。我已经使用控制台 UI 检查了结果。控制台搜索 API 的这种行为非常令人困惑。以前有没有人遇到过类似的问题。有数据抽样吗?如果您需要有关我面临的问题的更多信息,请告诉我。谢谢你的时间。

4

1 回答 1

1

简而言之,当您page在维度中使用并且您没有aggregationType在 API 调用中指定时,聚合类型将由 API 服务确定。

aggregationType确定如何汇总点击次数和展示次数。使用dimensions: date, query时,APIbyProperty默认使用聚合类型,同时date, page自动选择byPage类型。它记录在这里

请阅读本文档以了解byProperty(或站点)和byPage.

于 2017-07-04T01:08:22.270 回答