このワークフローについて
Google Scriptワークフロー経由でのGoogleドライブへの動画アップロード
このN8nワークフローテンプレートは、外部のGoogle Apps Scriptウェブアプリを使用して、公開URLから動画をGoogleドライブにアップロードし、その後Googleドライブ内のアップロード済みファイルをリネームするプロセスを自動化します。n8n、Googleドライブ、およびGoogleのインフラストラクチャ上でホストされるカスタムサーバーレスロジック間の実用的な統合を示しています。
ワークフローの機能
ワークフローは手動トリガー(例:「ワークフローをテスト」をクリック)で開始され、以下のシーケンスを実行します。
- 動画URLと認証シークレットを含むPOSTリクエストをGoogle Apps Scriptウェブアプリケーションに送信します。
- スクリプトは外部で実行され、提供されたURLから動画をダウンロードし、設定済みのGoogleドライブフォルダに直接保存します。
- アップロードが確認されると、n8nはアップロードされた新しいファイルの名前を定義済みの名前(「Music Video 1」)に変更します。
これにより、中間システムでの直接的なファイル処理や大規模なストレージを必要とせずに、クラウドベースの動画取り込みを自動化できます。
主な機能と能力
- 外部スクリプト統合: Google Apps Scriptを軽量なサーバーレス関数として活用し、ファイルダウンロードとドライブへのアップロードを処理することで、n8nの負荷を軽減します。
- セキュアな通信: シークレットトークン(
secret)を使用してGoogleスクリプトのエンドポイントへのリクエストを認証し、不正アクセスを防ぎます。 - 自動ファイル管理: アップロード後にファイルを自動的にリネームし、一貫性と整理を維持します。
- イベント駆動型実行: 手動でトリガーされるため、テストやオンデマンド操作に最適です。
- モジュラー設計: 各ステップは専用のノードにカプセル化されており、変更やスケーリングが容易です。
主要ノードとその目的
-
手動トリガーノード
- ノードタイプ:
n8n-nodes-base.manualTrigger - 目的: ワークフローの開始点として機能します。「ワークフローをテスト」をクリックすると、このノードが実行チェーンをアクティブにします。デバッグや制御された実行に役立ちます。
- ノードタイプ:
-
HTTPリクエストノード – 「URLをGDriveスクリプトに送信してアップロード」
- ノードタイプ:
n8n-nodes-base.httpRequest - 目的: HTTP POST経由でJSONペイロードをGoogle Apps Scriptウェブアプリに送信します。ペイロードには以下が含まれます。
videoUrl: ダウンロードする動画ファイルの公開URL。secret: スクリプト側でリクエストを検証するための認証キー。
- このノードは、n8nの外部で実際のアップロードプロセスをトリガーします。
- ノードタイプ:
-
Googleドライブノード – 「アップロード済み動画のリネーム」
- ノードタイプ:
n8n-nodes-base.googleDrive - 操作:
Update - パラメータ:
fileId: アップロード後にGoogleスクリプトによって返されるはずの$json.driveUrlから動的に抽出されます。newUpdatedFileName: ファイル名を「Music Video 1」に変更します。
- 認証情報: GoogleドライブアカウントにリンクされたOAuth2認証情報を使用します。
- 目的: アップロードされたコンテンツをクリーンで一貫したファイル名で整理することにより、自動化を完了します。
- ノードタイプ:
ユースケースとメリット
ユースケース
- コンテンツ集約プラットフォーム: プロモーション動画、ユーザー生成コンテンツ、メディアアセットをサードパーティURLから自動的に組織化されたドライブフォルダにインポートします。
- マーケティングオートメーション: 広告キャンペーン、ソーシャルメディア投稿、社内レビュー用の動画アップロードをスケジュールまたはトリガーします。
- バックアップとアーカイブ: リモートソースからメディアファイルをプルし、標準化された名前でGoogleドライブに安全に保存します。
- 統合ミドルウェア: 動画リンクを生成するシステム(録画ツールやAI動画ジェネレーターなど)とGoogle Workspace環境をブリッジします。
メリット
- 効率性: 手動でのダウンロードとアップロード作業を排除します。
- スケーラビリティ: 複数のURLをループ処理したり、Webhookトリガーと統合したりするように拡張できます。
- セキュリティ: 機密性の高いスクリプトを認証済みエンドポイントの背後に保持します。
- 柔軟性: 動画ソース、宛先名、共有権限の追加、フォルダ整理などの追加ステップを簡単に変更できます。
ステップバイステップのワークフローロジック
-
開始(手動トリガー)
→ ユーザーが「ワークフローをテスト」をクリックしてワークフローを手動で開始します。 -
Googleスクリプトへのリクエスト送信
→ 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ドライブの場所にアップロードします。
-
ファイルID / URLの受信(暗黙的)
→ 現在のセットアップでは明示的に表示されていませんが、Googleスクリプトがアップロードされた動画のfileIdまたはdriveUrlをレスポンスで返すことが期待されます。
→ この値は$json.driveUrlにマッピングする必要があり、次のノードで使用できるようになります。 -
アップロード済みファイルのファイル名変更
→ Googleドライブノードは、受信したfileId(={{ $json.driveUrl }}から)を使用してメタデータを更新します。
→update操作を使用して、ファイル名を**「Music Video 1」**に変更します。 -
ワークフロー完了
→ 動画は新しい名前でGoogleドライブに保存され、完全に自動化されます。
⚠️ 注意: 完全な機能のためには、Google Apps Scriptが正しい
fileIdまたはwebViewLinkをfileId入力フィールドと互換性のある形式で返すことを確認してください。レスポンス構造の変換が必要な場合は、Setノードを使用して出力解析を調整する必要がある場合があります。
結論
このワークフローは、n8nが外部APIとGoogleサービス間のやり取りを効率的にオーケストレーションする方法を示しています。ファイル転送のような重い処理をGoogle Apps Scriptにオフロードし、制御ロジックをn8nに保持することで、ユーザーはGoogleドライブでの動画コンテンツ管理のための安全でスケーラブルかつ保守可能な自動化パイプラインを実現できます。
使い方:JSON をダウンロードし、n8n で「ファイルからインポート」を選択します。