Google Apps Script で Gmail の添付ファイルを自動で Google Drive に保存
そういえばこんなもの作ってたので、備忘録がてらブログにも書きます(2ヵ月近く経ってますが…)。
GAS で Gmail の添付ファイルを Google Drive に保存するやつできた。まとめてダウンロードできるので大分楽になった https://t.co/WCPSymK3yA
— tyru (@_tyru_) February 24, 2019
使用方法
使う時は
- 専用の Google Drive フォルダを作成
- 専用の Gmail のラベル(保存済み用マーカー)を作成
- Google Apps Script の Home から以下のコードをコピペ
SAVE_FOLDER_ID
(保存したい Google Drive のフォルダの ID)を 1 で作ったフォルダの ID に変更READ_LABEL_NAME
(Gmail ラベル)を 2 で作ったラベル名に変更- あとはお好みで定期的に自動実行させたい場合はトリガーを作成
- (あんまりいないと思いますが)手動実行で運用したい人は不必要
保存したい Google Drive のフォルダを指定
var SAVE_FOLDER_ID = 'フォルダのID';
の部分を保存したい Google Drive のフォルダの ID に変えて下さい。 フォルダの ID はコメントにも書いてある通り Google Drive でフォルダに移動した時のURLで分かります。
例: https://drive.google.com/drive/u/1/folders/{フォルダのID}
既読マーカー用 Gmail のラベルを指定
添付ファイルを保存したかどうかチェックするために付けるラベルです。
var READ_LABEL_NAME = '添付ファイル保存済み';
の部分を作った Gmail のラベルに変えて下さい。
特定のメールの添付ファイルのみ保存
var SEARCH_CONDITION = 'has:attachment -label:' + READ_LABEL_NAME;
の部分を好きなように変えて下さい。 例えば以下の様に件名で絞り込んだりできます。
var SEARCH_CONDITION = 'subject:"重要書類" has:attachment -label:' + READ_LABEL_NAME;
自動実行させるためにトリガーを作成
とりあえず現在だとエディター画面の上部メニューから「編集→現在のプロジェクトのトリガー」でトリガーの画面を開いた後、右下の「トリガーを追加」ボタンから作成できます。 自分はこんな感じで作りました。