はじめに
この記事では、Gmailのメッセージの添付ファイルをDriveのフォルダに保存する方法についてご紹介します。
前提
・Gmailの特定のMessageを取得できること。(Threadの取得ではない点に注意してください。)
・添付ファイルの保存先は Google Driveのフォルダを取得できること。
実務での利用する例
・GmailのMessage取得関数を時間トリガーで定期実行し、かつ同じMessageの添付ファイルを重複して保存しないようにMessageを管理しつつ、添付ファイルを保存する。
・保存先であるGoogle Driveのフォルダを、Gmailの件名や本文、ラベルなどに応じて振り分ける。
ゴールイメージ
Gmailの添付ファイルを Google Driveのフォルダに保存します。
全体概要
実装コード
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);
}
}
コメント