Google.Apis.Gmail.v1.UsersResource.MessagesResource.ListRequest有一个属性MaxResults,它是"要返回的最大消息数"。默认值为100.以下代码允许我更改MaxResults:
var request = new UsersResource.MessagesResource.ListRequest(service, "me");
request.MaxResults = 5;
IList<Message> messages = request.Execute().Messages;
如果我指定一个值&lt; 100,仅返回该数量的消息。但是,如果我指定一个数字&gt; 100只返回100。如何返回所有消息?
答案 0 :(得分:1)
如果您尝试使用listing messages的API资源管理器,您可以看到,如果您获得100个或更多结果,Google会为您分页,这样您就不会意外地获取数千个结果。要获取下一页,只需在下一个请求中包含您从第一个回复中获得的nextPageToken
:
请求:强>
GET https://www.googleapis.com/gmail/v1/users/me/messages
回应(第1页):
{
"messages": [
{
"id": "15049b2405be054a",
"threadId": "15049b2405be054a"
}, . . .
],
"nextPageToken": "07838313978415221418"
}
下一个请求:
GET https://www.googleapis.com/gmail/v1/users/me/messages?pageToken=07838313978415221418
回应(第2页):
{
"messages": [
{
"id": "14ffa7f009d50dd1",
"threadId": "14ffa7f009d50dd1"
}, ...
], ...
}
继续执行此操作,直到响应中没有nextPageToken
,并且您将获取每个结果。