我有一个VBA脚本,可以将Excel文件转换为PDF,然后通过Google Drive桌面同步将其保存到Google云端硬盘文件夹。
我想要做的是让Google脚本触发器监视给定的文件夹,每次保存文件时,它都会运行一个脚本来通过电子邮件发送文件。我每15分钟运行基于时间的触发器时脚本工作正常,但更喜欢实时解决方案。
所以我喜欢onChange()触发器,但是对于Google Drive。
可能?
感谢
答案 0 :(得分:3)
使用Google云端硬盘的Push Notifications API可以实现这一点。有关详细信息,请参阅this link。
答案 1 :(得分:1)
GAS目前无法使用这种脚本触发器。你必须运行一个基于时间的脚本,不断检查。
答案 2 :(得分:0)
我找到了这个blog,并对其进行了一些修改:
function setupTrigger(){
let oneMinuteAgo = new Date(new Date().getTime() - 1 * 60 * 1000).toISOString();
let files = DriveApp.searchFiles('("1w0P5s5-BAlWB1EIr124h3wFPha_q6BPt" in parents) and (modifiedDate > "' + oneMinuteAgo + '")');
while (files.hasNext()){
let file = files.next();
}
}
其中 1w0P5s5-BAlWB1EIr124h3wFPha_q6BPt 是我要上传文件的文件夹ID。请注意,modifiedDate表示文件的修改日期(因此,如果您是在一天前创建文件的,那么ModifyDate会表示一天前,而不是上传日期)。