2014年6月18日水曜日

Google Apps Script : getMessages()メソッドで取得できる受信トレイスレッドの順番

GmailAppクラスのgetMessages()メソッドを使うと、自分のGmail受信トレイのスレッドオブジェクトを取得することができますが、どのような順番で取得できるのかがわからなかったのでテストしてみました。

テスト用のスクリプトは

---以下スクリプト---

function getMessageFromGmail() {

    var threads = GmailApp.getInboxThreads();
   
    for(var n=1;n<=5;n++) {
        var thread = threads[n];
        var msgs = thread.getMessages();
              
        for(m in msgs) {
            var msg = msgs[m];
            var date = msg.getDate();
                  
            sheet.getRange(n,1).setValue(date);
        }
    }
}

---以上スクリプト---

Gmail受信トレイの全スレッド(実際には500スレッド)を取得し、それについてforループを5回回してスレッドを取得しています。
さらに取得した5スレッドについて内側のforループで受信日時を取得し、スプレッドシートのA列に順番に受信日時を書き込んでいます。

結果は











となりました。受信日時が新しい順に上から並びましたが、受信トレイには未読のものが残っているため、受信トレイの見た目とは異なることに注意が必要かと思います。

0 件のコメント:

コメントを投稿

SyntaxHighlighter