Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.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_Monitor_Email_Google Drive Realtime Api - Fatal编程技术网

Google apps script 我需要一个脚本来监测一个特定的谷歌驱动器文件夹时,有一个变化,并通过电子邮件通知我

Google apps script 我需要一个脚本来监测一个特定的谷歌驱动器文件夹时,有一个变化,并通过电子邮件通知我,google-apps-script,monitor,email,google-drive-realtime-api,Google Apps Script,Monitor,Email,Google Drive Realtime Api,我试了一整天,发现: 附加的脚本只对我起了部分作用。即使子文件夹中有文件(例如重命名/删除子文件夹),它也不会响应对子文件夹的更改。如果我删除同一个文件并再次将其添加到文件夹中,它似乎也会出错,只是不会为新添加的“旧文件”向我发送电子邮件 我还发现: 但不幸的是,我并不确定这些参数是什么,我只是在写这样的东西方面缺乏经验 任何帮助都将不胜感激!谢谢 该链接上的文件监视代码是绑定到工作表的应用程序脚本。应用程序脚本可以绑定到工作表、文档、表单或网站。应用程序脚本也可以是独立的应用程序。因此,您

我试了一整天,发现:

附加的脚本只对我起了部分作用。即使子文件夹中有文件(例如重命名/删除子文件夹),它也不会响应对子文件夹的更改。如果我删除同一个文件并再次将其添加到文件夹中,它似乎也会出错,只是不会为新添加的“旧文件”向我发送电子邮件

我还发现:

但不幸的是,我并不确定这些参数是什么,我只是在写这样的东西方面缺乏经验


任何帮助都将不胜感激!谢谢

该链接上的文件监视代码是绑定到工作表的应用程序脚本。应用程序脚本可以绑定到工作表、文档、表单或网站。应用程序脚本也可以是独立的应用程序。因此,您可能想要编写的任何代码都不需要在电子表格中

可以将应用程序脚本设置为具有时间驱动的事件触发器

还有一个
脚本服务
用于构建时钟触发器

使用时间驱动事件触发器或时钟触发器,您可以使用
getSize()
方法返回项目使用的磁盘空间量:

当然,您需要知道文件夹或文件的原始大小,因此需要将当前大小存储在某个位置。您可以创建一个用于存储该信息的文件,或者使用Apps脚本拥有的内置数据库

要存储历史文件夹或文件信息,可以使用
ScriptDB

引述:

ScriptDB是Google Apps脚本的JavaScript对象数据库。每个脚本项目都会获得一个数据库,脚本可以使用该数据库保存、更新和搜索JavaScript对象数据

您还可以将历史文件和文件夹信息写入电子表格或文档

根据谁拥有该文件以及谁正在访问该文件,需要授予权限,或者您需要使用
oAuth2
来验证谁有权访问该文件和文件夹信息


如果你不能自己编写所有的代码,你可以设置一个共享的应用程序脚本文件,或者找到其他方法让人们在项目上进行协作。

我自己研究了一段时间,并提出了一个绑定到电子表格的脚本。希望它能帮助一些人,因为似乎很多人都在寻找类似的东西。我的脚本正在监视文件夹,并在添加新文件后立即向该文件夹的所有当前查看器发送通知。可以根据用户的需要设置运行脚本的触发器。就我而言,每小时工作都很好

带脚本的电子表格:


如果您想尝试此脚本,请确保在打开链接时使用您的google帐户登录,并且您应该能够制作电子表格的副本。

当google Drive文件夹中的文件被添加、重命名、更改时,此google脚本将向您或其他电子邮件地址发送电子邮件通知,或修改

// This example logs the first file's size in bytes
 // Note: This can also be used on a folder to get the size of its contents
 var file = DocsList.getAllFiles[0];
 Logger.log(file.getSize());