我正在努力获取Gmail List API设置,但出于某种原因,它会在我的收件箱中返回所有5,000封邮件,即使我已将maxResults设置为100.这是我当前的代码:
$pageToken = NULL;
$messages = array();
$opt_param = array();
do {
try {
if ($pageToken) {
$opt_param['pageToken'] = $pageToken;
$opt_param['maxResults'] = 100;
$opt_param['labelIds'] = 'INBOX';
}
$messagesResponse = $service->users_messages->listUsersMessages($userId, $opt_param);
if ($messagesResponse->getMessages()) {
$messages = array_merge($messages, $messagesResponse->getMessages());
$pageToken = $messagesResponse->getNextPageToken();
}
} catch (Exception $e) {
print 'An error occurred: ' . $e->getMessage();
}
} while ($pageToken);
foreach ($messages as $message) {
print 'Message with ID: ' . $message->getId() . '<br/>';
}
return $messages;
我不确定我哪里出错了,但我需要能够将我的收件箱过滤到最后发送的100封邮件。
答案 0 :(得分:3)
所以我刚刚意识到,你收到了所有的消息,因为即使你是以100分为单位得到它们,你最终会在循环中这样做,直到你得到所有消息为止你的收件箱......
如果你只想要前100个,那就试试吧:
os.getcwd()
所以我删除了do / while循环,基本上......
希望这有帮助!