AI活用

n8nでメールの添付をDriveへ保存する|重複・名前・保存先を確認

Gmail Triggerの添付をn8nからGoogle Driveへ保存する構成を解説。binary項目、複数添付、保存先ID、同名ファイル、再実行の重複を記録と照合で管理します。

この記事の目次
  1. Gmail Triggerで、対象メールと添付を絞る
  2. Driveへ渡す添付の項目と、保存先IDを決める
  3. ファイル名と重複判定のキーを分ける
  4. 二添付・添付なし・再送を試す
  5. 次に知りたいこと

Gmailの添付をDriveへ保存するときは、メールのID、添付ごとの識別、保存先フォルダを一緒に管理します。同名ファイルを上書きせず、二回目の受信や再実行でも保存済みを照合できる構成にします。

Gmail Triggerで、対象メールと添付を絞る

最初は試験用メールだけを対象にします。Gmail TriggerのSearchへhas:attachmentなどの検索条件を設定し、さらに試験用ラベルや送信者で絞ります。自分の通常の受信箱を丸ごと試験へ使わないようにします。

添付を取得する場合はSimplifyをオフにし、OptionsのDownload Attachmentsを有効にする構成があります。ノードの版によって項目が異なるため、画面にある設定と公式Gmail Triggerの定義を照合してください。

OUTPUTでbinaryの項目を確認します。標準の接頭辞ならattachment_0などの名前で添付が入ります。本文のJSONと添付のbinaryは別なので、件名を添付ファイルの入力へ渡さないようにします。

スポンサーリンク

Driveへ渡す添付の項目と、保存先IDを決める

  1. 一つの小さなPDFを添付した試験用メールで受信結果を確認する。
  2. Google DriveノードのUploadを選び、Input Data Field Nameへ実際のbinary項目名を指定する。
  3. 試験用の保存先フォルダを選び、保存するファイル名を設定する。
  4. 実行後にDrive側でファイルを開き、内容と保存先を確かめる。

複数添付があるメールでは、それぞれのbinary項目を処理する必要があります。最初の添付だけを保存してメール全体を完了扱いにしないでください。許す種類や最大サイズも、保存前に確認します。

ファイル名と重複判定のキーを分ける

「請求書.pdf」という表示名は複数メールで使われます。重複判定にはメールIDと添付の識別を組み合わせ、保存したDriveファイルIDを記録します。添付の順番だけを識別に使う場合は、再取得時にも順番が同じか確認が必要です。

保存記録の設計例
message_id:元のメールID
attachment_key:添付ID、または照合可能な識別
original_name:受信した名前
folder_id:保存先
file_id:Driveで作成されたID
status:未処理 / 保存済み / 要確認

名前にパス記号や長すぎる文字列が含まれる場合は、表示名を整えるルールを決めます。元の名前は記録へ残し、整えた名前だけで同一ファイルと判定しないようにします。

二添付・添付なし・再送を試す

小さなファイル一つ、二つの添付、添付なし、同じメールの再実行で結果を確かめます。添付なしは正常な分岐として終えるか、対象外として記録するかを決めます。

保存の直後に止まった場合はDriveでの作成結果を照合し、結果不明のまま新規作成しません。認証で止まる場合はGoogle OAuthの設定、重複を抑える保存設計は二重実行の防止で確認してください。

スポンサーリンク