You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Google Apps Script实现审批后自动生成PDF并移动至指定文件夹

Google Drive审批触发PDF转换并归档实现方案

可行性确认

完全可以实现你的需求,核心是通过Google Apps Script的可安装变更触发器捕捉文档审批状态的变更,结合Drive服务完成PDF生成与归档操作。

核心知识点

1. 检查审批状态的方法

直接使用DriveApp.getFileById(fileId).getApprovalStatus()即可获取文档的审批状态,返回的枚举值包括:

  • DriveApp.ApprovalStatus.APPROVED(已批准)
  • DriveApp.ApprovalStatus.REJECTED(已拒绝)
  • DriveApp.ApprovalStatus.PENDING(待审批)

2. 触发方式

推荐使用可安装的Drive onChange触发器,当文档的审批状态发生变化时,自动触发脚本执行。这种方式无需依赖额外API,适合新手快速上手。

示例脚本

function handleApprovalTrigger(e) {
  // 过滤非文件变更的触发事件
  if (!e || e.changeType !== 'change') return;

  const targetFile = DriveApp.getFileById(e.source.getId());
  const currentStatus = targetFile.getApprovalStatus();

  // 仅处理已批准的文档
  if (currentStatus !== DriveApp.ApprovalStatus.APPROVED) return;

  // 生成PDF副本
  const pdfBlob = targetFile.getAs('application/pdf');
  const pdfFile = DriveApp.createFile(pdfBlob)
    .setName(`${targetFile.getName()}_已批准.pdf`);

  // 替换为你的目标只读文件夹ID
  const archiveFolderId = '替换为实际的文件夹ID';
  const archiveFolder = DriveApp.getFolderById(archiveFolderId);

  // 将PDF移动到归档文件夹
  archiveFolder.addFile(pdfFile);
  DriveApp.getRootFolder().removeFile(pdfFile);

  // 可选:给原文档添加操作记录
  targetFile.setDescription(`${targetFile.getDescription() || ''}\n[系统自动操作] 已生成批准PDF并归档`);
}

触发器设置步骤

  1. 打开Google Apps Script编辑器(可创建独立项目,或绑定到任意Drive文档)
  2. 左侧菜单点击「触发器」图标,选择「添加触发器」
  3. 配置参数:
    • 选择函数:handleApprovalTrigger
    • 部署类型:Head
    • 事件源:从驱动器
    • 事件类型:更改
  4. 保存并完成权限授权(需授予脚本Drive文件的读写权限)

注意事项

  • 确保运行脚本的账号拥有目标归档文件夹的编辑权限(否则无法移动文件)
  • 提前配置目标文件夹的权限,将多数员工设为只读
  • 测试时可手动将测试文档的审批状态改为「已批准」,验证脚本是否自动执行

内容的提问来源于stack exchange,提问作者RichardW

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 22:27:19