Google Sheets允许在网上发布任何电子表格。这样做将公开发布的电子表格中包含的数据,以便通过各种API(如Google Sheets API)访问。
这一切都很好,除了一件事。通过API访问已发布的工作表,返回对该工作表做出贡献的用户的电子邮件地址。
例如这样的请求:
https://spreadsheets.google.com/feeds/cells/[key]/[sheetId]/public/basic?alt=json
在其他信息中,也将返回这个:
"author": [ {
"name": {
"$t": "***"
},
"email": {
"$t": "***@***.com"
}
} ],
上面代码片段中的***
是真实的Google帐户名和电子邮件。
是否有一种方法,无论是通过文档属性还是通过通用的谷歌帐户属性,通过公共api禁用发布您的电子邮件地址?
没有办法隐藏电子表格中的信息。但是,这里有一个变通方法:
将工作表内容复制到另一个电子表格,并发布另一个电子表格。复制可以通过以下几种方式完成:
- 您可以手动复制,这将保留包括图像在内的所有内容,但更难保持同步。
- 使用=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.有一个带有触发器的应用程序脚本,可以将整个表格复制到发布的电子表格中。这将保留所有内容,但需要更多的代码来删除旧表并复制新表。
当然,你用来制作这些副本(手动或脚本)的电子邮件需要是一个你不介意发布的。