2017-06-22 70 views
1

我正在使用搜索控制檯API v3爲某些屬性提取搜索分析數據。 我正在使用googleapiclient庫(Python)進行API調用。 Python腳本進行API請求:提供不正確數據的Google控制檯搜索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值不匹配。 你爲什麼會這樣想?

同樣是這種情況,當我使用 「尺寸」:[「日期」,「查詢」] 上,當我使用 「尺寸」另一方面:[「日期」,「頁面」 ]然後我得到正確的結果。我用控制檯UI檢查了結果。控制檯搜索API的這種行爲非常混亂。以前有人遇到過類似的問題嗎?是否有任何數據採樣? 讓我知道你是否需要關於我面臨的問題的更多信息。 謝謝你的時間。

+0

爲什麼當你的startDate和endDate相同時,你使用'dimensions':['date','query']?在'維度'中放置'日期'是多餘的......您應該只使用'維度':['query'] – eyedar

回答

0

簡而言之,當您在維度中使用page並且您未在API調用中指定aggregationType時,那麼聚合類型將由API服務確定。

aggregationType確定如何彙總點擊次數和展示次數。當您使用dimensions: date, query時,API將默認使用byProperty聚合類型,而date, page自動選擇byPage類型。它是documented here

請將byProperty(或網站)和byPage之間的差異寫入this documentation

+0

是的,我已閱讀了關於aggregationType以及它如何影響點擊次數和展示次數的彙總。我還觀察到,對於某些查詢,谷歌不提供任何數據。還有一件事我觀察到,從UI導出我們不能得到更多的1000個查詢(行)。所以我們絕不會將它與使用API​​精確提取的數據進行匹配。讓我知道你是否有更多的建議。謝謝 – subhash