2015-02-23 32 views
0

我正在構建一個應用程序,用於使用Gmail Rest Api將郵件從Gmail發送到Exchange郵箱。到目前爲止,我做了以下幾件事。如何過濾Gmail上的新郵件?

  1. 我已成功創建源郵箱和目標郵箱。
  2. 我可以通過調用messages.list和messages.get函數來發送消息。
  3. 要檢查新郵件,我不得不遍歷所有messageIds,甚至那些我已經發送到Exchange郵箱的。(即消息ID舊的電子郵件)
  4. 我已經確定沒有重複的電子郵件發送到Exchange郵箱。

由於我必須遍歷Gmail郵箱中的所有messageId以檢查新電子郵件,所以當電子郵件數量很大時,我可能會遇到性能問題。我想知道是否有一種有效的方式來獲取只有新郵件的地方,而不必遍歷所有messageIds。還有一件事,我只搜索收件箱標籤中是否有新郵件到達,是否還有其他標籤需要搜索?我相信新電子郵件只會收到收件箱,重要郵件和垃圾郵件標籤,還有什麼我需要知道的嗎?

在將Google電子郵件發送到Exchange郵箱之前,我將它們放入數據庫表中。爲了解決我的問題,我打算在電子郵件表中添加一個日期時間字段,以便在特定日期和時間追蹤新電子郵件。我不確定這個想法是否有效,所以我需要一個關於這個問題的專家建議。 Gmail的API文檔參數q

回答

3

閱讀評論爲Users.messages: list

q

僅返回匹配指定查詢消息。支持與Gmail搜索框相同的查詢格式。例如,「from:[email protected] rfc822msgid:是:未讀」。

可能是是:未讀可能會幫助您僅列出新消息?

+0

+1提醒我關於參數「q」。不幸的是,它不會完全幫助我,有可能用戶不會閱讀舊的電子郵件。由於我正在將電子郵件從gmail遷移到Exchange郵箱,因此用戶需要閱讀他們在Exchange郵箱上的電子郵件。 :) – User 2015-02-23 16:48:05