Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 删除修订历史记录_Google Apps Script_Google Sheets - Fatal编程技术网

Google apps script 删除修订历史记录

Google apps script 删除修订历史记录,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我正在使用GoogleApps脚本对电子表格中的数据进行加密。它工作正常,但电子表格中方便的修订历史记录使它有点毫无意义,因为您可以在加密之前查看版本 有没有办法删除修订历史记录,或者干脆不让它们一起被创建?不幸的是,Google Apps脚本没有提供从修订历史记录中删除项目的方法。对于Google文档,我通过复制文档来摆脱修订历史记录。不确定这是否也适用于电子表格。复制所有电子表格,恢复到第一个版本,然后粘贴电子表格:)否。 用于访问修订历史记录的驱动器不会删除Google工作表上的条目 需要

我正在使用GoogleApps脚本对电子表格中的数据进行加密。它工作正常,但电子表格中方便的修订历史记录使它有点毫无意义,因为您可以在加密之前查看版本


有没有办法删除修订历史记录,或者干脆不让它们一起被创建?

不幸的是,Google Apps脚本没有提供从修订历史记录中删除项目的方法。

对于Google文档,我通过复制文档来摆脱修订历史记录。不确定这是否也适用于电子表格。

复制所有电子表格,恢复到第一个版本,然后粘贴电子表格:)

否。 用于访问修订历史记录的驱动器不会删除Google工作表上的条目

需要注意的是,只有拥有编辑权限的用户才能查看修订历史记录。仅查看或注释权限无法查看修订历史记录

一种解决方案是让用户通过Google forms将数据提交到一个非常狭隘的共享表中,并设置一个触发器,将未加密的非敏感元/聚合数据复制到一个更公开的表中,供不受信任的用户和脚本访问。单元格公式IMPORTRANGE()也可以工作,因为它从输入公式的人那里获得访问权限,因此可以将数据从受限制的电子表格移动到不受限制的电子表格,而不会影响原始表格


第二个解决方案稍微麻烦一些,但更接近您的要求,即为用户和外部脚本提供对包含工作表的驱动器文件夹的访问。有了文件夹ID,脚本就可以通过名称搜索工作表,用户可以用眼睛按名称查找工作表。加密脚本完成加密后,将复制电子表格,使用该电子表格将复制所有公式、格式、数据,甚至脚本,但不会复制修订历史记录。Pass copy()与原始工作表同名,驱动器文件名不必唯一。使用驱动器api将新电子表格移动到文件夹中,默认情况下,它应继承文件夹的共享。再次使用驱动器API删除原始电子表格。因为所有用户和脚本都在特定文件夹ID中查找名为X的文件,所以所有内容仍然与他们期望的位置完全一致,但修订历史记录已经消失

电子表格将清除历史记录。这可能是一个解决办法。是的,但我有外部脚本处理这个电子表格。复制将更改ID,并意味着需要重新分配脚本。其他脚本正在访问它这一事实是我想首先对数据进行编码的主要原因。可以尝试进行一些虚拟更改,这将推出未加密的历史记录。没有骰子。虽然我找不到历史记录的实际限制,但如果经常使用,它们可以追溯到四个月前。如果不是超时的话,图片的虚拟更改会使工作表在很长一段时间内毫无用处。请查看对问题的评论。提问者指出,这将更改电子表格的ID,并影响其脚本的功能。因此,这不是一个适合他们的解决方案。MartinK希望通过编程删除电子表格上的修订历史记录,而不是创建一个新的电子表格。这将复制这些值。另外,不删除历史记录。删除历史记录是因为您恢复到第一次审阅并替换它可能行为已更改,但它没有替换历史记录,只粘贴了值,而不是公式。谢谢。这有点混乱,我有一两个挑战需要实现,但我很欣赏理解用例并将一些想法投入到解决方案中。