(Android)阅读公共或共享电子表格,Google文档

时间:2013-08-05 21:25:04

标签: android google-drive-api google-docs-api google-spreadsheet-api

我可以使用Driver API创建文件并授予权限。

对于电子表格,我使用“电子表格API”。

我给予的许可是:“公开给任何人 - 只读”。案件是我无法读取电子表格单元格。我能阅读的唯一方法是,如果我像詹姆斯摩尔那样添加“发布到网络”。代码示例:

String urlString = "https://spreadsheets.google.com/feeds/list/0AsaDhyyXNaFSdDJ2VUxtVGVWN1Yza1loU1RPVVU3OFE/default/public/values";
URL url = new URL(urlString);
ListFeed feed = service.getFeed(url, ListFeed.class); // Then feed.getEntries()

但如果是这样的话,我如何阅读共享文件或如何通过Java代码设置“发布到Web”文件?

2 个答案:

答案 0 :(得分:0)

首先,描述Documents List API。请改用Drive API。您可以通过Files.insert()实现相同的目标。

其次,使用spreadsheets api阅读电子表格。您还可以使用Spreadsheet service Google Apps脚本。如果您使用这两者中的任何一个,则无需发布到Web。

答案 1 :(得分:0)

我发现现在不可能。也许在不久的将来;

电子表格API:https://developers.google.com/google-apps/spreadsheets/

几周前,谷歌提出了一些解释这一点的文字:

私有可见性可以替换为公共可见性,这使得Feed可以在未经授权的情况下对“已发布到Web”的电子表格进行操作。工作表,列表和单元格Feed支持公共可见性。例如,公共可见性对于从JavaScript中的网页的客户端上下文访问电子表格的内容非常有用。

只能通过Google Spreadsheets用户界面将电子表格发布到网络上。要开始将电子表格发布到网络,请选择文件>从Spreadsheets用户界面发布到Web,然后单击“开始发布”按钮。

警告:使用公共可见性对不是“发布到网络”的电子表格中的Feed的API请求会产生HTTP 400错误请求响应,并显示消息此URL处的电子表格可以找不到。确保您拥有正确的网址,并且电子表格的所有者尚未将其删除。

警告:对于在Google电子表格的共享对话框的“可见性选项”部分中制作为“公开在网络上”的电子表格,公开可见性不起作用。 “发布到网络”和“公共网络”是共享电子表格的不同方式。我们知道这很令人困惑,并将在未来的API版本中解决它。目前,我们希望此详细警告可以防止混淆。