![](/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.