我正在使用Google針對Ruby自定義搜索引擎的API。這是我設置的API調用Google::APIClient.new
後:google api ruby客戶端next_page_token和next_page方法不起作用
response = client.execute(
:api_method => search.cse.list,
:application_name => 'my_app',
:application_version => '0.1',
:parameters => {
'q' => thekey,
'num' => 4,
'start' => 1,
'key' => 'MYKEY',
'cx' => 'MYCX'
}
)
請求走了,但我不能達到下一個頁面的結果。如果我運行client.execute(response.next_page)
獲取第一個API調用的相同數據。
response.next_page
返回此:
IRB(主):015:0> response.next_page =># 「ORDINE DEI geometri」, 「NUM」=> 4, 「開始」=> 1,「key」=>「MYKEY」,「cx」=>「MYCX」,「pageToken」=>無},@headers = {「User-Agent」=>「google-api-ruby-client/0.7。 1 Mac OS X/10.9.4 \ n(gzip)「,」Accept-Encoding「=>」gzip「,」Content-Type「=>」「},@ api_method =#,@ authenticated = nil,@ authorization =無,@body
您看到start
參數i S設定到1
即使第一response
返回
"queries"=>{"nextPage"=>['start' => 5}
相反:
response.next_page_token
是有史以來nil
。
我試圖搜索(this not working for me),但有關Google API Ruby客戶端的文檔很奇怪。
謝謝@jrq但你的回答不'groups_array.concat(groups.groups)工作'返回我一個錯誤,順便說一句我result.data不要」 t respond_to?(「concat」)。可能是因爲我使用Custom Search Api返回另一種數據。不管怎麼說,還是要謝謝你。 – MonkTools 2014-09-15 19:46:05
我應該更清楚。您需要在我提供的示例中替換您的API調用,參數和結果。但處理分頁結果的結構很好。你應該能夠看到你需要爲每個頁面重新執行。 – JRQ 2014-09-16 12:52:30
是的,我明顯地取代了所有這些東西。在我的prev消息中,我忘了在「與......一起工作」之後寫下「我」,所以這個短語結果很奇怪,對不起。無論如何,我嘗試與您的頁面經銷商結構,但問題是一樣的。 '結果。page_next_token'永遠爲零,'result.page_next'返回'startIndex = 1'的原始請求。奇怪的是'result.data ['queries']'顯示了一個'nextPage'鍵,其中包含爲下一頁進行的正確調用。 – MonkTools 2014-09-16 16:02:21