隐藏Google表格API中的作者电子邮件地址

mar*_*sma 15 google-api google-sheets

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

除了一件事,这都是罚款和罚款.通过API访问已发布的工作表,返回已为该工作表提供的用户的电子邮件地址.

例如,像这样的请求:

https://spreadsheets.google.com/feeds/cells/[key]/[sheetId]/public/basic?alt=json
Run Code Online (Sandbox Code Playgroud)

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

"author": [ {
  "name": {
    "$t": "***"
  },
  "email": {
    "$t": "***@***.com"
  }
} ],
Run Code Online (Sandbox Code Playgroud)

***以上代码片段是真实的谷歌帐户名和电子邮件.

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

Zig*_*del 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. 有一个带有触发器的应用程序脚本,用于将整个工作表复制到已发布的电子表格中。这将保留所有内容,但需要更多代码来删除旧工作表并复制新工作表。


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