首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android - Google Spreadsheet Api

Android - Google Spreadsheet Api
EN

Stack Overflow用户
提问于 2012-12-12 19:40:40
回答 2查看 23.2K关注 0票数 21

我不能得到我应该使用哪个库来开发一个Android应用程序来修改Google电子表格。我需要连接,复制,编辑,阅读用户电子表格,但我不能理解今天的方式。

代码语言:javascript
复制
Google Drive Api : https://developers.google.com/drive/
Google Spreadsheet Api: https://developers.google.com/google-apps/spreadsheets/
Google APi java client: http://code.google.com/p/google-api-java-client/

哪一个是正确的?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-12-14 16:42:02

最后,我使用的库是:

代码语言:javascript
复制
gdata-client-1.0.jar
gdata-client-meta-1.0.jar
gdata-core-1.0.jar
gdata-spreadsheet-3.0.jar
gdata-spreadsheet-meta-3.0.jar
google-api-client-1.12.0-beta.jar
google-api-client-android-1.12.0-beta.jar
google-http-client-1.12.0-beta.jar
google-http-client-android-1.12.0-beta.jar
google-oauth-client-1.12.0-beta.jar
gson-2.1.jar
guava-13.0.1.jar
jackson-core-asl-1.9.9.jar
jsr305-1.3.9.jar
protobuf-java-2.4.1.jar

根据Eugenio的建议(谢谢!)我将来自spreadsheet api的库与java-client-api“混合”在一起,在身份验证之后,我使用以下代码来获取单元格

代码语言:javascript
复制
SpreadsheetEntry spreadsheet = null;
URL metafeedUrl = new URL("https://spreadsheets.google.com/feeds/spreadsheets/private/full");

SpreadsheetFeed spreadsheetFeed = service.getFeed(metafeedUrl, SpreadsheetFeed.class);
List<SpreadsheetEntry> spreadsheets = spreadsheetFeed.getEntries();
for (SpreadsheetEntry entry : spreadsheets) {
   if (entry.getTitle().getPlainText().equals(spreadsheetTitle)) {
      spreadsheet = entry;
   }
}

if (spreadsheet == null) {
    throw new FileNotFoundException("Cannot find the required spreadsheet '" + spreadsheetTitle + "'");
}

WorksheetEntry worksheet = null;
WorksheetFeed worksheetFeed = service.getFeed(spreadsheet.getWorksheetFeedUrl(), WorksheetFeed.class);
List<WorksheetEntry> worksheets = worksheetFeed.getEntries();
    for (WorksheetEntry entry : worksheets) {
    if (entry.getTitle().getPlainText().equals(worksheetTitle)) {
         worksheet = entry;
    }
}

if (worksheet == null) {
    throw new FileNotFoundException("Cannot find the required worksheet '" + worksheetTitle + "'");
}

URL listFeedUrl = worksheet.getListFeedUrl();
ListFeed listFeed = service.getFeed(listFeedUrl, ListFeed.class);

目前,我使用了“最差的”身份验证系统,我应该在OAuth2中执行此操作,但目前ClientLogin是这样完成的:

代码语言:javascript
复制
SpreadsheetService service = new SpreadsheetService("v1");
service.setProtocolVersion(SpreadsheetService.Versions.V3);
service.setUserCredentials(email, password);
票数 9
EN

Stack Overflow用户

发布于 2012-12-12 19:48:37

简而言之:三者都有

长长的答案:

你将不得不使用新的Drive API,它允许在Google Drive中上传、下载和修改文件。有了这个,你只能在电子表格上进行有限的操作,基本上是下载或上传。

Google Spreadsheet Api允许在电子表格中进行复杂的操作,如按行和按列访问数据。

Google API java client是所有Google中的依赖项,它用于以不同的方式授权连接,例如OAuth或服务帐户。

票数 23
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13838963

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档