お弁当アプリの概要
社内で発注するお弁当を集計するアプリを作ろうと思い、下図の構成のシステムを構築しようと思ってます。
今回やること
今回は上図のオレンジの枠内のシステムを構築します。具体的には、Gmailに添付されているPDFのメニュー表を検索し、Google Driveにメニュー表を作成します。
Google App Scriptを使うことで簡単に構築することができます。
function saveGmailAttachmentsToDrive() {
var emailAddress = "*******@gmail.com"; // 特定のメールアドレスを指定
var folderId = "********************"; // Google DriveのフォルダIDを指定
var folder = DriveApp.getFolderById(folderId);
var yesterday = new Date();
yesterday.setDate(yesterday.getDate() - 1);
var after = Utilities.formatDate(yesterday, Session.getScriptTimeZone(), "yyyy/MM/dd");
// 前日以降のメールを検索し、Google Driveにメニュー表を作成
GmailApp.search("from:" + emailAddress + " after:" + after)
.forEach(thread => thread.getMessages()
.forEach(message => message.getAttachments()
.filter(attachment => attachment.getContentType() === "application/pdf")
.forEach(attachment => folder.createFile(attachment))
)
);
}
トリガーを設定し、↑のsaveGmailAttachmentsToDrive関数を毎日実行します。
実行する関数 | saveGmailAttachmentsToDrive |
---|---|
イベントのソース | 時間主導型 |
時間ベースのトリガーのタイプ | 日付ベースのタイマー |
時刻を選択 | 午前0時~1時 |
PDFのメニュー表をGoogle Driveに保存することができました。