【问题标题】:Hide author email address from Google Sheets API从 Google Sheets API 隐藏作者电子邮件地址
【发布时间】:2015-07-23 10:43:57
【问题描述】:

Google 表格允许将任何电子表格发布到网络。这样做会公开发布的电子表格中包含的数据,以便通过各种 API 访问,例如 Google Sheets API

这一切都很好,除了一件事。通过 API 访问已发布的工作表,会返回为该工作表做出贡献的用户的电子邮件地址。

例如这样的请求:

https://spreadsheets.google.com/feeds/cells/[key]/[sheetId]/public/basic?alt=json

除其他信息外,还将返回:

"author": [ {
  "name": {
    "$t": "***"
  },
  "email": {
    "$t": "***@***.com"
  }
} ],

上述 sn-p 中的*** 是真实的 Google 帐户名称和电子邮件。

有没有办法通过文档属性或通用 Google 帐户属性来禁止通过公共 API 发布您的电子邮件地址?

【问题讨论】:

  • 不,这是关于其他事情的。谢谢你。
  • 我猜您可以使用一次性帐户创建和编辑工作表 - 至少可以将您的电子邮件地址保密...
  • 这可以作为一种解决方法。谢谢。但是,我希望有一个更优雅的解决方案。好像没有:(

标签: google-api google-sheets


【解决方案1】:

无法在该电子表格中隐藏该信息。 但是,这里有一个解决方法:

将工作表内容复制到另一个电子表格,然后发布另一个电子表格。复制有多种方式:

  1. 您可以进行手动复制,这将保留包括图像在内的所有内容,但更难保持同步。

  2. 使用 =ImportRange 公式将值自动导入副本。处理更改,但不处理所有格式,并且如果图像更改将无法工作(除非它们使用 =image 公式放置)。

=IMPORTRANGE("1z5afM6Wn-8RKsdUpTPicU0d81YCWX4bqzgKIna1uep0","Instructions!A1:E") 例如会将 A 到 E 列中的所有内容复制到您的工作表中。 在已发布的表格中,将“文件:电子表格设置”设置为“重新计算:每分钟更改一次”。 使用 importRange 的更详细示例在我制作的这篇博文中,请参阅有关 importRange 的部分以将“说明”表复制到其他表:http://zigmandel.blogspot.com/2015/09/how-i-crowd-translated-my-product-tour.html

3. 有一个带有触发器的应用程序脚本,以将整个工作表复制到已发布的电子表格中。这将保留所有内容,但需要更多代码来删除旧工作表并复制新工作表。


当然,您用于制作这些副本(手动或通过脚本)的电子邮件必须是您不介意发布的电子邮件。

【讨论】:

  • 谢谢!相当开销,但相当可行的解决方案。
猜你喜欢
  • 2016-01-21
  • 1970-01-01
  • 2017-05-10
  • 2022-01-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-05
  • 2018-10-21
相关资源
最近更新 更多