【问题标题】:(Android) Read Public or Shared Spreadsheet, Google Docs(Android) 阅读公共或共享电子表格、Google 文档
【发布时间】:2013-08-05 21:25:04
【问题描述】:

我可以创建一个文件并使用 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”文件?

【问题讨论】:

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


    【解决方案1】:

    首先,文档列表 API 已弃用。请改用 Drive API。您可以通过Files.insert() 实现相同的目标。

    其次,使用spreadsheets api 读取电子表格。您还可以使用 Google Apps 脚本的Spreadsheet service。如果您使用这两种中的任何一种,则不必发布到网络上。

    【讨论】:

    • 感谢 4 个回答。我已经在使用 Drive API 和 Spreadsheet API,就像你推荐的和其他论坛一样。但是我有同样的问题,我如何读取共享文件?如果我手动检查它,这是共享的,但我无法获取数据...给出一个错误,说“文件不存在或 url 不正确”之类的。我如何共享和阅读我共享的文件?
    【解决方案2】:

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

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

    几周前,Google 发表了一些解释:

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

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

    警告: API 请求对未“发布到 Web”的电子表格上的供稿使用公开可见性会产生 HTTP 400 错误请求响应,并带有消息此 URL 上的电子表格可能找不到。确保您拥有正确的 URL,并且电子表格的所有者没有删除它。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-23
      • 1970-01-01
      • 2013-01-06
      • 2011-03-31
      • 1970-01-01
      相关资源
      最近更新 更多