GoogleAppScriptで、一定の条件下のメールの添付ファイルをまとめてGoogleDriveのフォルダに入れるスクリプトをつくった、の話
こんばんは!korotoroだよ!
今日は、GAS(GoogleAppScript)で作ったツールの話だよ。
GoogleAppScriptとは
要するにGoogleの各種サービス上のデータを横断的に処理できるスクリプト。とてもべんりなのです。
困っていたこと/今回やったこと
あるgmailアカウントに、特定のラベル付け済み、ある文字列を含む件名のたくさんのメール(300件くらい)が定期的にきて、1通1通に添付ファイルがついている事態。それを添付ファイルだけダウンロードしてまとめたい、というシチュエーション。
1通1通ぽちぽちしてダウンロードする作業を考えただけでめまいがします。
そこで、Gmailに連動したGoogleDrive内にフォルダを設置、その中に一定の条件下のメールの添付ファイルをまとめて入れる処理をつくりました。(=GoogleDriveはフォルダごとzipにしてダウンロードできるので、1通1通ぽちぽちしないですむ)
イメージとしては、ツールからバラバラと自動送信される定期レポートとかを回収せねばならん時に使う感じです。
じゃ、使い方
といっても、つかうかたによって処理したい対象のメールの条件も、付けたいフォルダ名も様々だと思いますので、そのあたりカスタム前提で話していきます。
準備すること
・集めたい添付ファイルのついたメール群を受信しているGmailアカウントにログイン
・添付ファイルをまとめておくフォルダ名をきめる
・添付ファイルがついたメールの検索条件(gmailの検索窓に入るやつ、Label: とか subject: とかを含むやつをそのまま)をコピーしておく
ここの書式については詳細検索 - Gmail ヘルプに詳しいです。例えば受信トレイ全部なら、in:inbox です。
次に、
https://drive.google.com/open?id=1bqhNE_jPvg03XReGuONJhoyp05UWgUgol0LGGGmgEpFc-aPWuVtt8ZpS
Googleアカウントにログインした状態で、↑のURLにアクセスして、「ファイル」→「コピーを作成」と操作。
そうするとあなたのGoogleDriveにスクリプトのコピーが作成されます。このコピーのスクリプトを以後編集、実行してください。
では、スクリプト内、考えていたフォルダ名を12行目、検索条件を15行目、指定の場所に入れて、「保存」、「実行」→「Labelpick」を選択。
(初回実行時のみ「承認」→「許可」の別窓が開くので許可しよう)
現状結構時間がかかるスクリプトみたいなんですが、あらかじめ決まってる予定とか毎月の作業であれば、上部メニュー時計マークの部分でできるトリガー設定とかするといいかも。
また、毎月の作業の場合、検索条件のところにも処理するメールの期間(after:YYYY/MM/DD とか)を入れたりするといいかも。すると全部のメールを見てしまう=時間かかる&先月のファイルもまた改めて集めてしまう、といった事態を防げます。
今回のスクリプトは、
GMailで特定のラベルを付けたメールの添付ファイルを自動でGoogle Driveに保存するGoogle Appsスクリプト - noriaki blog はてな出張所
を参照して作成いたしました。
あと、作成の過程でrazokulover氏に大変たすけてもらいました、ありがとう夫よ。
そんな感じです!