如何在Google Drive文件创建时触发Google Apps Script执行
实现方案:使用Google Drive事件驱动型可安装触发器
你对Apps Script触发器的认知存在小范围偏差:除了固定周期的时间触发器外,Apps Script还支持事件驱动型触发器,可在指定Drive文件夹有新文件创建/上传时自动触发函数,完全匹配你的需求,配置步骤如下:
步骤1:复用现有功能函数
不需要修改你已经调试正常的移动文件逻辑,直接用原有函数即可,以下是补全了文件名判断的参考版本(避免文件夹内其他文件被误处理):
// 替换下方两个变量为你自己的文件夹ID(文件夹链接地址栏最后一段字符串即为ID) const FOLDER1_ID = "你的Folder1 ID"; const FOLDER2_ID = "你的Folder2 ID"; function moveUploadedCsv() { const sourceFolder = DriveApp.getFolderById(FOLDER1_ID); const fileIterator = sourceFolder.getFiles(); while (fileIterator.hasNext()) { const currentFile = fileIterator.next(); // 仅处理目标csv文件,可按需调整匹配规则 if (currentFile.getName() === "testfile.csv" && currentFile.getMimeType() === "text/csv") { const targetFolder = DriveApp.getFolderById(FOLDER2_ID); currentFile.moveTo(targetFolder); } } }
步骤2:配置触发规则
- 打开你的Apps Script项目,点击左侧导航栏的「触发器」(闹钟形状图标)
- 点击右下角「添加触发器」按钮,按以下参数配置:
- 选择要运行的函数:选择你上述移动文件的函数名
- 选择部署项:默认选择「Head」即可
- 选择事件来源:选择「Google 云端硬盘」
- 选择事件类型:选择「新建」
- 文件夹ID:填入你的Folder1的ID
- 故障通知设置:按个人需求选择,建议选「即时通知」方便排查异常
- 点击保存,按页面提示完成权限授权即可
配置完成后,只要有新的testfile.csv上传到Folder1,触发器就会自动调用函数执行移动操作,无需按固定时间轮询。
内容的提问来源于stack exchange,提问作者cgstats
相关产品推荐
相关产品推荐

