Humanity

Edit the world by your favorite way

Google Apps Script で Gmail の添付ファイルを自動で Google Drive に保存

そういえばこんなもの作ってたので、備忘録がてらブログにも書きます(2ヵ月近く経ってますが…)。

使用方法

使う時は

  1. 専用の Google Drive フォルダを作成
  2. 専用の Gmail のラベル(保存済み用マーカー)を作成
  3. Google Apps Script の Home から以下のコードをコピペ
  4. SAVE_FOLDER_ID (保存したい Google Drive のフォルダの ID)を 1 で作ったフォルダの ID に変更
  5. READ_LABEL_NAMEGmail ラベル)を 2 で作ったラベル名に変更
  6. あとはお好みで定期的に自動実行させたい場合はトリガーを作成
    • (あんまりいないと思いますが)手動実行で運用したい人は不必要

保存したい 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;

自動実行させるためにトリガーを作成

とりあえず現在だとエディター画面の上部メニューから「編集→現在のプロジェクトのトリガー」でトリガーの画面を開いた後、右下の「トリガーを追加」ボタンから作成できます。 自分はこんな感じで作りました。

f:id:tyru:20190321123620p:plain
給与明細保存スクリプト - トリガー設定

コード