2014-12-28 20 views
3

檢索Google Spreadsheet中的一系列行我的目標是在標準cURL調用中使用sq參數從Google工作表中檢索一系列行 - API的協議方法。我知道the Google Sheets documentation explains the sq parameter by way of example。在該文檔示例中,它使用帶有比較運算符的列標題名稱,但是有沒有一種方法可以使用sq參數來檢索由開始和結束行索引指定的一系列行?使用基於列表的提要API和「sq」參數

我意識到可以使用Google的Visualization API來做這樣的事情,但它似乎像我用來檢索數據的Google Sheet的URL需要「重建」以匹配所需的可視化API。我需要提取電子表格「鑰匙」,然後重建URL as per documentation (scroll to the bottom)。作爲一名開發人員,我對編寫URL的任何字符串操作感到厭倦,所以我可以簡單地從Google表格中提取一系列行。

檢索一系列行而不必求助於基於單元格的API提要的最佳做法是什麼?

編輯: 我檢出了Google's Query Language reference (version 0.7),發現using offset together with limit could grab a range of rows with an SQL statement。但是,當我嘗試使用這些查詢時,它不適用於url中的sq參數。我嘗試使用網址編碼sq參數的值以確保但沒有運氣。看來sq參數值只能引用基於列表的Feed中的列標題。有人知道是否是這種情況?在我的捲曲呼叫,這裏有一些網址,我試過(捲曲請求的身份驗證):

https://spreadsheets.google.com/feeds/list/{key}/od6/private/full?sq=limit+3+offset+3 //returns Parse error: null

https://spreadsheets.google.com/feeds/list/{key}/od6/private/full?sq=limit%203%20offset%203 //URL encoded value for sq returns Parse error: null

https://spreadsheets.google.com/feeds/list/{key}/od6/private/full?sq="limit 3 offset 3 //Returns HTML marked up error with Error 400 (Bad Request)!! as <title>

才能與sq參數有什麼用?它是否記錄在任何地方,谷歌?

回答

3

好吧,所以經過一番探索,並且在this SO thread上看到David Bullock's的回答後,我轉向Google's old Protocol Reference documentation - API API 2.0版。我通過the Queries section進行了閱讀,並且很高興地報告,即使對於最新的API版本,start-indexmax-results參數仍然適用於基於列表的Feed URL。

因此,假設你有一個href到具有100行,例如一個特定的工作表,您可以使用像這樣通過67至檢索行50:

https://spreadsheets.google.com/feeds/list/{key}/od6/private/full?start-index=50&max-results=17

儘管這是令人滿意的現在,它從谷歌知道,如果這些參數將永遠不會被棄用。我認爲它們將被棄用,因爲從當前API文檔沒有提及它們。如果直接從谷歌收聽會很棒,但現在我只會使用這些經典的參數。

+0

鑑於谷歌如何推銷使用較新的文檔,當它們不完整時真的令人沮喪。我花了很多年尋找如何分頁換頁,所以你的答案解決了我的問題,謝謝! – Andrew