【问题标题】:Enhanced third-party access for Google Sheets增强了对 Google 表格的第三方访问权限
【发布时间】:2016-09-09 14:39:56
【问题描述】:
随着对 Google 表格第三方访问保护的更改,对可视化 API 的调用现在需要 OAuth 凭据,除非电子表格共享给“任何拥有链接的人都可以查看”。 (Google Developers Blog Post)(Google Charts Authorization)
这是否仍然适用于共享给“域中任何知道链接的人都可以查看”的电子表格?如果是这样,我如何在不提示最终用户访问其云端硬盘或电子表格的情况下获得 OAuth 凭据?是否可以使用服务帐户传递凭据?我们不想提示使用该应用程序的每个用户,因为它已由 Google Apps 管理员授权并使用服务帐户执行。
【问题讨论】:
标签:
google-sheets
google-visualization
google-spreadsheet-api
google-sheets-api
【解决方案1】:
这是否仍然适用于共享给“域中知道链接的任何人都可以查看”的电子表格?
在这个documentation中声明:
Google 表格需要最终用户凭据才能访问私有
通过 Google 可视化 API(“/tq requests”)的电子表格
但请注意:
共享给“知道链接的任何人都可以查看”的电子表格不会
需要凭据。更改电子表格的共享设置是
比实施授权容易得多。
因此,如果您的电子表格共享给“知道链接的任何人都可以查看”,那么您不会受到从 2016 年 9 月 14 日开始的更新的影响。
欲了解更多信息,请查看此thread。
【解决方案2】:
“知道链接的域中的任何人都可以查看”仍然需要 OAuth 凭据,因为应用程序正在访问非公开数据。如果您使用域范围的委派和服务帐户模拟,您可以简单地在后端生成一个访问令牌并将其在请求中传递给 /tq 端点。