首页 / n8n 工作流模板 / 使用 Google Apps Script 自动化视频上传到 Google 云端硬盘

使用 Google Apps Script 自动化视频上传到 Google 云端硬盘

Upload video to drive via google script

此工作流手动触发,将视频 URL 发送到 Google Apps Script 网络应用,将其上传到 Google 云端硬盘,然后重命名上传的文件。

手动触发3 个节点效率办公Google 云端硬盘自动化HTTP 请求

工作流介绍

通过 Google Script 工作流将视频上传到 Google Drive

此 N8n 工作流模板通过外部 Google Apps Script Web 应用自动化将公共 URL 中的视频上传到 Google Drive 的过程,然后重命名上传到 Google Drive 中的文件。它演示了 n8n、Google Drive 和托管在 Google 基础架构上的自定义无服务器逻辑之间的实际集成。

工作流功能

工作流在手动触发时启动(例如,点击“测试工作流”),并执行以下序列:

  1. 向 Google Apps Script Web 应用发送包含视频 URL 和身份验证密钥的 POST 请求。
  2. 脚本在外部运行,从提供的 URL 下载视频,并将其直接保存到配置的 Google Drive 文件夹中。
  3. 上传确认后,n8n 会继续将新上传的文件重命名为预定义名称(“Music Video 1”)。

这使得自动化的基于云的视频摄取成为可能,而无需在中间系统上进行直接文件处理或大量存储。


主要功能和能力

  • 外部脚本集成:利用 Google Apps Script 作为轻量级无服务器函数来处理文件下载和 Drive 上传,从而减轻 n8n 的负担。
  • 安全通信:使用密钥令牌 (secret) 对 Google Script 端点的请求进行身份验证,防止未经授权的访问。
  • 自动化文件管理:上传后自动重命名文件,以实现一致性和组织性。
  • 事件驱动执行:手动触发,非常适合测试或按需操作。
  • 模块化设计:每个步骤都封装在专用节点中,易于修改和扩展。

主要节点及其用途

  1. 手动触发节点

    • 节点类型:n8n-nodes-base.manualTrigger
    • 用途:作为工作流的起点。当用户点击“测试工作流”时,此节点会激活执行链。适用于调试和受控运行。
  2. HTTP 请求节点 – “将 URL 发送到 GDrive 脚本并上传”

    • 节点类型:n8n-nodes-base.httpRequest
    • 用途:通过 HTTP POST 将 JSON 有效负载发送到 Google Apps Script Web 应用。有效负载包括:
      • videoUrl:要下载的视频文件的公共 URL。
      • secret:用于验证脚本端请求的身份验证密钥。
    • 此节点在 n8n 外部触发实际上传过程。
  3. Google Drive 节点 – “重命名上传的视频”

    • 节点类型:n8n-nodes-base.googleDrive
    • 操作:Update
    • 参数:
      • fileId:从 Google Script 上传后应返回的 $json.driveUrl 动态提取。
      • newUpdatedFileName:将文件重命名为“Music Video 1”。
    • 凭据:使用链接到 Google Drive 帐户的 OAuth2 凭据。
    • 用途:通过使用干净、一致的文件名来组织上传的内容,从而完成自动化。

用例和优势

用例

  • 内容聚合平台:自动将来自第三方 URL 的宣传视频、用户生成内容或媒体资产导入到有组织的 Drive 文件夹中。
  • 营销自动化:安排或触发视频上传以用于广告系列、社交媒体帖子或内部审查。
  • 备份和归档:从远程源提取媒体文件,并使用标准化命名将其安全地存储在 Google Drive 中。
  • 集成中间件:连接生成视频链接的系统(如录制工具或 AI 视频生成器)与 Google Workspace 环境。

优势

  • 效率:消除了手动下载和上传任务。
  • 可扩展性:可以扩展以循环遍历多个 URL 或与 Webhook 触发器集成。
  • 安全性:将敏感脚本保留在经过身份验证的端点后面。
  • 灵活性:易于修改视频源、目标名称或添加其他步骤,如共享权限或文件夹组织。

分步工作流逻辑

  1. 开始(手动触发)
    → 用户通过点击“测试工作流”手动启动工作流。

  2. 发送请求到 Google Script
    → HTTP 请求节点将 POST 请求发送到 "your_google_script_web_app_url",请求正文为:

    {
      "videoUrl": "https://example.com/path/to/your.mp4",
      "secret": "your-strong-secret-here"
    }
    

    → Google Apps Script 接收此请求,验证密钥,获取视频,并将其上传到指定的 Google Drive 位置。

  3. 接收文件 ID / URL(隐式)
    → 尽管在当前设置中未明确显示,但预期 Google Script 会在其响应中返回上传视频的 fileId 或 driveUrl。
    → 此值必须映射到 $json.driveUrl,以便下一个节点可以使用它。

  4. 重命名上传的文件
    → Google Drive 节点使用接收到的 fileId(来自 ={{ $json.driveUrl }})来更新元数据。
    → 使用 update 操作将文件名更改为 “Music Video 1”。

  5. 工作流完成
    → 视频现在以新名称存储在 Google Drive 中,完全自动化。

⚠️ 注意:为实现全部功能,请确保 Google Apps Script 以与 fileId 输入字段兼容的格式返回正确的 fileId 或 webViewLink。如果响应结构需要转换,您可能需要使用 Set 节点调整输出解析。


结论

此工作流例证了 n8n 如何有效地协调外部 API 和 Google 服务之间的交互。通过将繁重的工作(如文件传输)卸载到 Google Apps Script,并将控制逻辑保留在 n8n 中,用户可以实现安全、可扩展且可维护的自动化管道,用于管理 Google Drive 中的视频内容。

使用方法:下载 JSON 文件,然后在 n8n 中选择“从文件导入”。