GmailにすでにあるメールをGASを使ってスプレッドシートに出力する

スプレッドシートに出力する
スプレッドシートに出力する
ビジネス

はじめに

POINT

前回は「Gmailで受信したメールをGoogleスプレッドシートに自動で取り込む!」という記事でしたが、今回はすでにGmailに届いているメールをGoogleAppsScript (GAS)を使ってスプレッドシートに読み込むというコードを紹介します。
他の方が色々作成している記事があったので参考にさせていただきました。
https://tonari-it.com/gas-gmail-search-limit/

取得したい値についてはGoogleの公式ドキュメントを参考
https://developers.google.com/apps-script/reference/gmail/

Gmailで受信したメールをGoogleスプレッドシートに自動で取り込む

Gmailで受信したメールをGoogleスプレッドシートに自動で取り込む!

2019年1月26日

1.スプレッドシートを作成する

まずはGoogleAppsScript (GAS)を入力準備を始めるためにGoogleDriveからGoogleスプレッドシートを立ち上げます。

新規スプレッドシート作成 - bzbot(ビジボット )
新規スプレッドシート作成 – bzbot(ビジボット )

表示されたスプレッドシートはタイトルも入っていない状態なのでタイトルを入力します。
今回は「GoogleAppsScriptでGmailの情報を取得する」で作りました。
さらに取得したい情報を以下で指定したいので、項目名を先に登録しておきます。
【messageID】,【From】,【Date】,【Subject】,【InInbox】

スプレッドシートの入力が完了したらいよいよGoogleAppsScript (GAS)を書いていきます。

スクリプトエディタを開く - bzbot(ビジボット )
スクリプトエディタを開く – bzbot(ビジボット )

2.GASコード

POINT

スクリプトのタイトルも同様に名前をつけ、今回は「Gmail取得」とつけました。

早速ですが、コードです。説明をしていきます。
ログはデバックしやすいように残してます。

GASコード

まずは以下ですが、検索する文字条件を指定してます。
Gmailの件名に以下文言が含まれるものを検索するとします。

GASコード

次はスレッドの取得する件数のMAX件数を指定します。
Gmailの取得件数は1日で上限があるらしく、それに抵触しない回数で取得が必要そうです。
※今回は特にそういったことは無視してます

GASコード

Gmailで検索します。検索ワードとメールの検索するlimitで指定した件数分。
その後、スレッドからメールを取得します。

GASコード

最後はfor文にて、取得した件数のループ処理の中に、取得した情報をそれぞれログとスプレッドシートのセルにsetしていきます。

GASコード

3.結果

POINT

Gmailにあるメール数と、GoogleAppsScript (GAS)で取得した件数が間違いない事を確認。

メール取り込み完了 - bzbot(ビジボット )
メール取り込み完了 – bzbot(ビジボット )

最後に、今回はベースが作成済みだったのでそこまでコード自体は難しくなかったですが、根気よくGoogleAppsScriptの公式ドキュメントを読んだり、他の参考記事を読んだりが大切と実感しました。これからも色々とコードを書く癖をつけていきます!
最後までお付き合い頂きありがとうございました!