我試圖使用Gmail API計算用戶郵箱中的所有電子郵件。這意味着運行像如何快速獲取用戶郵箱中的郵件數量?
do{
page = request.execute();
if (page.getMessages() != null){
totalSize += page.getMessages().size();
}
request.setPageToken(page.getNextPageToken());
}while (request.getPageToken() != null && request.getPageToken().length() > 0);
的問題是,對於大的郵箱,這可能是一個漫長的過程,採取了許多API調用。例如,一個包含31,000封電子郵件的郵箱需要一分鐘才能運行,並且需要300多次迭代才能完成。
有沒有更好的方法?
我試過使用maxResults參數,但它默認爲100,並忽略任何值> 100。批處理不起作用,因爲在您已經遍歷每個頁面之前,無法知道需要創建多少個請求。列表響應中的resultSizeEstimate
屬性荒謬不準確。
由於當前版本的Gmail API是版本1,因此它們不提供太多靈活的功能。可能在後期版本中包含此功能。 – 2014-09-05 07:04:35
看到我的評論。現在提供標籤和整個郵箱上的計數。 – 2014-10-16 16:22:25