参考
https://korotoro.hatenablog.com/entry/2015/12/05/224731
例によって上記ほぼそのまんまです。エイリアスとかでAWSアカウント毎にメアドが違う場合にわかるように分離したかった。
■事前準備:
・添付ファイルをまとめておくフォルダ名(以下の例:AWS_Tax_Invoice)
・添付ファイルがついたメールの検索条件(以下の例:subject:("Amazon Web Services Tax Invoice Available") has:attachment newer_than:20d')
を以下のコードに反映する必要があるので、それぞれ用意します。
■使い方
1)集めたい添付ファイルのついたメール群を受信しているGmailアカウントにログインしておく
2)https://script.google.com/home で[+新しいプロジェクト]
3)hoge.gsに下記コードを修正のうえ張り付けて実行
4)Googleアカウント承認が走るので承認(初回のみ
5)実行→実行ログを見つめる。。。
6)時計のマークから月一回とか毎日定時とかの実行設定もできる
function labelpick(){ var f = DriveApp.createFolder('AWS_Tax_Invoice'); //ここに作りたい'フォルダ名'を入れる var ID = f.getId(); var folder = DriveApp.getFolderById(ID); var threads = GmailApp.search('subject:("Amazon Web Services Tax Invoice Available") has:attachment newer_than:20d'); //受信トレイの'検索条件'を入れる for (var x=0; x<threads.length; x++) { var messages = threads[x].getMessages(); for (var y=0; y<messages.length; y++) { var attachments = messages[y].getAttachments(); var recipients = messages[y].getTo() + '.pdf'; //宛先メアド+.pdfでファイル名を指定する for (var z=0; z<attachments.length; z++) { var file = attachments[z].setName(recipients); var nakami =DriveApp.createFile(file); folder.addFile(nakami); DriveApp.getRootFolder().removeFile(nakami); } } } }