0

Google SpreadsheetService似乎是一項「正在進行中的工作」,有時/突然緩慢的回答,隨機錯誤消息等。有些人已經建議我在可能的情況下使用Google Drive API電子表格API。但是我找不到有關Google Drive/Spreadsheet API組合的體面文檔。官方Google電子表格/驅動器使用情況

隨着一些調試和試/錯誤我創建在SpreadsheetEntry水平的「入口點」:

String lSpreadsheetFileId = pSpreadsheetFile.getId(); 
String lSpreadsheetUrlString = String.format("https://spreadsheets.google.com/feeds/spreadsheets/%s", lSpreadsheetFileId); 
URL lSpreadsheetUrl = new URL(lSpreadsheetUrlString); 
SpreadsheetEntry lSpreadsheetEntry = mSpreadsheetService.getEntry(lSpreadsheetUrl, SpreadsheetEntry.class); 

現在我可以在SpreadsheetService或與谷歌驅動器文件的查詢開始。兩者都提供SpreadsheetEntry。從這一點來看,兩種情況下的代碼都是相同的。

這是有效的,但是我自己的Google黑客解決方案可能會破壞界面上的更新。我看到一些帖子更「官方」的方法:

urlFactory.getWorksheetFeedUrl(file.getId(), "private", "full"); // (or any other feed url builder). file.getId() 

什麼是官方的「設計」的方式來使用谷歌雲端硬盤文件與谷歌電子表格?

我可以得到一些真正的代碼示例(超過;「只使用飼料」等)?

+0

歡迎使用堆棧問題開頭以什麼爲X是基於意見的最佳方式或廣泛。我們也不提供代碼示例。如果您的代碼存在問題,我們可以幫助您解決問題,但通過您的代碼看起來很順利。請閱讀http://stackoverflow.com/help/how-to-ask – DaImTo

+0

是的代碼正在工作(現在),但我正在尋找谷歌的實際'設計'的解決方案,而不是我自己的黑客。 –

+0

Google表格是舊的gdata API Google寧願使用應用程序腳本,因此您不會找到任何有關如何使用它的文檔或教程。 – DaImTo

回答

0

Google電子表格服務已被棄用。使用Google Apps Script API代替您在集成Google雲端硬盤和電子表格時的實施。使用Apps Script API,您幾乎可以在應用程序中實施大部分Google Apps集成。

+0

你從哪裏得到它被棄用的信息? [Sheets API Page](https://developers.google.com/google-apps/spreadsheets/)只是說腳本API功能更強大。我仍然希望有一個真實的Sheets API;使用腳本API,我必須爲所有簡單任務實現代理腳本,例如讀取幾個單元格... –

+0

@AlexR **我們也不贊成Spreadsheets,Contacts,Documents List和Freebase API的非當前版本** https://developers.googleblog.com/2012/04/changes-to-deprecation-policies-and-api.html – SwagBomb

+0

這應該指(非當前)版本1和2,而不是當前版本3(請參閱[版本概述](https://developers.google.com/google-apps/spreadsheets/#which_version_of_the_api_should_be_used)) –

0

如果你真的需要SpreadsheetEntry,你必須篩選SpreadsheetFeed並尋找關鍵。您可以實施標題查詢以減少要檢查的電子表格的數量:

SpreadsheetQuery spreadsheetQuery 
    = new SpreadsheetQuery(urlFactory.getSpreadsheetsFeedUrl()); 
    spreadsheetQuery.setTitleQuery(spreadsheet); 
    SpreadsheetFeed spreadsheetFeed = myService.query(spreadsheetQuery, SpreadsheetFeed.class); 

似乎沒有查詢關鍵字。 但是,幾乎沒有需要SpreadsheetEntry的功能,並且無法使用Drive API或更低級別的源(Worksheed,List或CellFeed)完成

相關問題