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です。
is:unreadだと未読のメールを取得してきますし、label:◯◯だと特定のラベル付けされたメールが取得されます。
他にも
下記のようにGmailからメールを取得するメソッドがあるので、必要に応じて利用してみてください。
GmailApp.getStarredThreads // スターあり
GmailApp.getSpamThreads(); // スパム
GmailApp.getDrafts(); // 下書き
GmailApp.getPriorityInboxThreads(); // 重要マーク付き
GmailApp.getTrashThreads(); // ゴミ箱
今回は以上です!
次もまたGmailAppのことも書けたらと思います。
この記事が気に入ったらサポートをしてみませんか?