【发布时间】:2017-04-13 15:25:39
【问题描述】:
我在全局变量中设置了字母数:
private static final long MAX_RESULTS_PER_REQUEST = 10;
接下来,我添加这个条件来获取列表查询:
List<String> labelsId = new ArrayList<>();
labelsId.add("INBOX");
ListMessagesResponse response = mService.users().messages().list(user)
.setLabelIds(labelsId)
.setMaxResults(MAX_RESULTS_PER_REQUEST)
.execute();
List<Message> messages = new ArrayList<Message>();
while (response.getMessages() != null) {
messages.addAll(response.getMessages());
if (response.getNextPageToken() != null) {
String pageToken = response.getNextPageToken();
response = mService.users().messages().list(user)
.setPageToken(pageToken).execute();
} else {
break;
}
}
但是“.setMaxResults(MAX_RESULTS_PER_REQUEST)”不起作用:
Log.i("messages.size()", String.valueOf(messages.size())); //here 1644 not 10
【问题讨论】:
-
response.getMessages()的初始大小是否等于 10?可能发生此错误是因为您不断获取下一页令牌并获取下一页的邮件,而不是因为 Gmail 正在返回 1644 封邮件。