2016-05-04 17 views
0

messages.listメソッドのGmail APIとresultSizeEstimateフィールドに問題があります。resultSizeEstimateが完全に間違っています

値は完全に間違っている:私はhttps://www.googleapis.com/gmail/v1/users/me/messages?labelIds=INBOXを使用してのすべてのメッセージを照会する場合、私はmaxResultsで一度に複数51メッセージを取得することができたとしても、51のresultSizeEstimateを得ました。

GmailのGUIを参照するか、labels.get.messagesTotalフィールドを使用すると、受信トレイに8kを超えるメッセージがあることがあります。

labels.getが問題なく動作するので、ラベルにメッセージの総数を表示したい場合は問題ありませんが、特定のクエリのメッセージの合計数を取得するにはどうすればよいですか? messages.listリクエストに&q=...を追加すると、明らかに間違っている最大値50が残っています。

ありがとうございます!

答えて

1

resultSizeEstimateと推定されます。非常に近い見積りでなければならない場合は、おそらくそれを使用しないでください。

クエリの合計結果を取得することはできません。応答にnextPageTokenがなくなるまで、listにする必要があります。次に、クエリのすべての結果を取得したことがわかります。

+0

私は8kではなく51がかなり悪い見積もりだと思います。 GmailのGUIでは、検索結果の数がわかります。どうすれば同じことができますか?各ページを1つずつカウントするのが最も効率的ではない、別の方法が必要です。 – natinusala

+0

@natinusalaええ、私はあなたと同じ船に乗っていて、怒っています。私はこの問題のGoogleのトラッカーに問題があると思う。 あなたができることは、最初のページが一杯になった場合にクエリの '99+ results'を表示することです。それは多くのユースケースで十分です。 – Tholle

+1

鉱山は推定値237、61000+のメッセージを示しました。私はもはやそのフィールドを取得していない、それは役に立たないです。 –

関連する問題