見出し画像

GASでGmailのデータを取得する!

GASを最近、よく使っているのでそのことについて書いて行こうかと思います。

Gmailのデータを取得したいと思ったことはありませんか?

僕はあったので取得する方法を紹介します。

なにを使っていくかというと?!

GmailApp!!!!!

これが便利です。

Gmailの操作をするにはこちらを利用します。

実際にデータを取得してみる

GmailApp.getInboxThreads();

こちらでinboxのメールを取得します。

thread形式で取ってくるので、こんな感じで配列に入れてあげます。

function myFunction() {
 var threads = GmailApp.getInboxThreads();
 for(var n in threads){
   var thread = threads[n];
 
   var columnData = [];
   columnData[0] = thread.getId(); // メールのID取得
   columnData[1] = thread.getFirstMessageSubject(); // タイトル
   columnData[2] = thread.getLastMessageDate(); // 最終受信日時
   columnData[3] = thread.getMessages(); // 本文
   Logger.log(columnData);
 }
}

あとは好きなように加工してください。

スプレッドシートに書き出すのが一般的かもですね!

検索してみる

先程はinboxのデータを取得したのですが、検索もできた方が使い勝手が格段にあがります。
僕はいつもこっちを使っています。

GmailApp.search(query)

このプログラムでGmailに対して、検索をかけてデータを取得します。

queryに入れるのは、Gmailの検索ボックスで入れるものと同じでOKです。

画像1

is:unreadだと未読のメールを取得してきますし、label:◯◯だと特定のラベル付けされたメールが取得されます。

他にも

下記のようにGmailからメールを取得するメソッドがあるので、必要に応じて利用してみてください。

GmailApp.getStarredThreads // スターあり
GmailApp.getSpamThreads(); // スパム
GmailApp.getDrafts(); // 下書き
GmailApp.getPriorityInboxThreads(); // 重要マーク付き
GmailApp.getTrashThreads(); // ゴミ箱

今回は以上です!

次もまたGmailAppのことも書けたらと思います。

この記事が気に入ったらサポートをしてみませんか?