![](/img/trans.png)
[英]How to delete a file on google drive using Google Drive Android API
[英]How do I create & edit a spreadsheet file on google drive using Google Drive APIs only from my Android app?
我的申請包含一系列班次。 我想將轉換列表保存到google驅動器帳戶的電子表格文件中。 由於Google Spreadsheets API使用已棄用的Google Doc API來創建電子表格文件; 如何在谷歌驅動器上創建和編輯此類文件,所有這些都來自我的Android應用程序中的java代碼,並且沒有任何用戶交互(授權除外), 僅使用Google Drive API ?
Google Docs API已棄用,但Sheets API(當前版本:v3)仍然有效。
要實現原始Sheets + Docs組合的等效功能,您應該使用Drive API執行文件操作,例如搜索/移動/創建/刪除。
除了Drive API的范圍之外,還可以在您的授權中添加以下范圍:
https://spreadsheets.google.com/feeds
如果您使用的是GData客戶端庫和Google OAuth客戶端庫 ,則在OAuth 2.0授權后設置這兩種服務非常容易。 這是一個例子:
// Acquire clientId, clientSecret and refreshToken
...
// Create shared credential
GoogleCredential credential = new GoogleCredential.Builder()
.setClientSecrets(clientId, clientSecret)
.setJsonFactory(jsonFactory)
.setTransport(transport)
.build().setRefreshToken(refreshToken);
// Setup both servives
Drive driveService = new Drive.Builder(transport, jsonFactory, credential).build();
SpreadsheetService sheetService = new SpreadsheetService(...);
sheetService.setOAuth2Credentials(credential); // only provided in newer releases
sheetService.useSsl();
兩個API中的資源ID相同,因此您可以使用Drive API方法搜索某個文件的ID,並使用Sheets API方法訪問該文件中的工作表。 這是一個例子:
File file = driveService.files().get().setFields(...).execute();
String feedUrl = "https://spreadsheets.google.com/feeds/worksheets/"
+ file.getId + "/private/full";
WorksheetFeed feed = sheetService.getFeed(feedUrl, WorksheetFeed.class);
如果您收到“令牌無效 - AuthSub令牌具有錯誤范圍”的錯誤,則將accessToken的查詢字符串附加到feedUrl可能會有所幫助。
feedUrl = feedUrl + "?access_token=" + credential.getAccessToken();
僅供參考,我在撰寫此答案時提到的問答清單。
您應該查看Google Spreadsheet API 3.0 。 它支持您可以在Android應用程序中使用的JAVA。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.