Google控制台搜索API提供的数据不正确

时间:2017-06-22 10:42:50

标签: python google-api-webmasters

我正在使用搜索控制台API v3为某些Property提取Search Analytics数据。 我正在使用googleapiclient库(Python)进行API调用。 制作API请求的Python脚本:

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值不匹配。 为什么你认为会发生这种情况?

我使用时再次出现这种情况 '尺寸':['日期','查询'] 另一方面,当我使用时 '尺寸':['日期','页'] 然后我得到了正确的结果。我已经使用控制台UI检查了结果。控制台搜索API的这种行为非常混乱。以前是否有人遇到类似的问题。有没有数据样本? 如果您需要有关我所面临问题的更多信息,请与我们联系。 谢谢你的时间。

1 个答案:

答案 0 :(得分:1)

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

aggregationType确定汇总点击次数和展示次数的方式。当您使用dimensions: date, query时,API会默认使用byProperty聚合类型,而date, page会自动选择byPage类型。它是documented here

请仔细阅读this documentation,了解byProperty(或网站)与byPage之间的区别。