Gmailの添付ファイルをDriveに保存する方法 〜Google Apps Script〜

Gmailの添付ファイルを保存する方法 メモ

はじめに

この記事では、Gmailのメッセージの添付ファイルをDriveのフォルダに保存する方法についてご紹介します。

前提

・Gmailの特定のMessageを取得できること。(Threadの取得ではない点に注意してください。)
・添付ファイルの保存先は Google Driveのフォルダを取得できること。

実務での利用する例

・GmailのMessage取得関数を時間トリガーで定期実行し、かつ同じMessageの添付ファイルを重複して保存しないようにMessageを管理しつつ、添付ファイルを保存する。

・保存先であるGoogle Driveのフォルダを、Gmailの件名や本文、ラベルなどに応じて振り分ける。

ゴールイメージ

Gmailの添付ファイルを Google Driveのフォルダに保存します。

全体概要

Gmailの添付ファイルを保存する方法_素材

実装コード

function saveAttacements() {
  //保存先のDriveのフォルダを指定します。 (ここではマイドライブを保存先としています。
  var mydrive = DriveApp.getRootFolder();

  //GmailのMessageを指定します。 例:) 17c29d10fbda0123
  var message = GmailApp.getMessageById(MESSAGE_ID);

  //Messgeの添付ファイルを取得します。
  //配列形式で返されることに注意してください。 例) ["file", "file"]
  var attachments = message.getAttachments();

  //配列を繰り返し処理します。
  for(var a = 0; a < attachments.length; a++) {

    //ファイルを取得します。
    var attachment = attachments[a];
    //ファイルをDriveに保存します。
    mydrive.createFile(attachment);
  }
}

Gmail側の画面

Gmailの添付ファイル画面

Drive 側の画面

driveにファイルを保存した様子

コメント

タイトルとURLをコピーしました