工作流介紹
使用 Google Script 工作流程將影片上傳至 Google Drive
這個 N8n 工作流程範本透過外部 Google Apps Script 網頁應用程式,自動化從公開 URL 上傳影片至 Google Drive 的過程,然後在 Google Drive 中重新命名已上傳的檔案。它展示了 n8n、Google Drive 和託管於 Google 基礎設施上的自訂無伺服器邏輯之間的實際整合。
工作流程功能
工作流程在手動觸發時啟動(例如,點擊「測試工作流程」),並執行以下順序:
- 將包含影片 URL 和驗證密碼的 POST 要求傳送至 Google Apps Script 網頁應用程式。
- 該腳本在外部執行,從提供的 URL 下載影片,並將其直接儲存到已設定的 Google Drive 資料夾中。
- 上傳確認後,n8n 會繼續將新上傳的檔案在 Google Drive 中重新命名為預設名稱(「Music Video 1」)。
這使得自動化的雲端影片擷取成為可能,而無需在中間系統上進行直接檔案處理或大量儲存。
主要功能與能力
- 外部腳本整合:利用 Google Apps Script 作為輕量級無伺服器函數來處理檔案下載和 Drive 上傳,從而減輕 n8n 的負擔。
- 安全通訊:使用密碼令牌(
secret)來驗證對 Google Script 端點的要求,防止未經授權的存取。 - 自動化檔案管理:上傳後自動重新命名檔案,以確保一致性和組織性。
- 事件驅動執行:手動觸發,非常適合測試或隨需應變的操作。
- 模組化設計:每個步驟都封裝在專用節點中,易於修改和擴展。
主要節點及其用途
-
手動觸發節點
- 節點類型:
n8n-nodes-base.manualTrigger - 用途:作為工作流程的起點。當使用者點擊「測試工作流程」時,此節點會啟動執行鏈。適用於除錯和受控執行。
- 節點類型:
-
HTTP 請求節點 –「將 URL 傳送至 GDrive 腳本並上傳」
- 節點類型:
n8n-nodes-base.httpRequest - 用途:透過 HTTP POST 將 JSON 負載傳送至 Google Apps Script 網頁應用程式。負載包含:
videoUrl:要下載的影片檔案的公開 URL。secret:用於驗證腳本端要求的驗證金鑰。
- 此節點會在 n8n 外部觸發實際的上傳過程。
- 節點類型:
-
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 觸發器整合。
- 安全性:將敏感腳本保留在已驗證的端點後面。
- 靈活性:易於修改影片來源、目標名稱,或添加其他步驟,如共用權限或資料夾組織。
分步工作流程邏輯
-
開始(手動觸發)
→ 使用者透過點擊「測試工作流程」手動啟動工作流程。 -
將要求傳送至 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 位置。
-
接收檔案 ID / URL(隱含)
→ 雖然目前設定中未明確顯示,但預期 Google Script 會在其回應中傳回已上傳影片的fileId或driveUrl。
→ 此值必須映射到$json.driveUrl,以便下一個節點可以使用它。 -
重新命名已上傳檔案
→ Google Drive 節點使用收到的fileId(來自={{ $json.driveUrl }})來更新中繼資料。
→ 使用update操作將檔案名更改為 「Music Video 1」。 -
工作流程完成
→ 影片現在已以新名稱儲存在 Google Drive 中,完全自動化。
⚠️ 注意:為確保完整功能,請確保 Google Apps Script 以與
fileId輸入欄位相容的格式傳回正確的fileId或webViewLink。如果回應結構需要轉換,您可能需要使用 Set 節點調整輸出解析。
結論
此工作流程例證了 n8n 如何有效地協調外部 API 與 Google 服務之間的互動。透過將繁重的工作(如檔案傳輸)卸載到 Google Apps Script,並將控制邏輯保留在 n8n 中,使用者可以實現安全、可擴展且易於維護的自動化管道,用於管理 Google Drive 中的影片內容。
使用方法:下載 JSON 檔案,然後在 n8n 中選擇「從檔案匯入」。