Gmail API将所有Gmail收件箱邮件限制为500

时间:2017-04-07 04:34:02

标签: php google-api gmail gmail-api

我正在尝试获取Gmail API中的所有收件箱邮件,但每次请求限制为500。我想获取所有消息,并且存储库中的当前消息是1600+,但我只能在一个请求中获得500.

$service = new Google_Service_Gmail($client);
$user = 'me';

$params = array(
    'labelIds' => 'INBOX', 
    'maxResults' => 20000
);

$last_date = mysqli_fetch_array($query);
extract($last_date);


$date = date_create($latest);
$date->modify('-1 day');
$filter_date = date_format($date, 'Y/m/d');
$params['q'] = 'in:inbox after:'.$filter_date ;

$messages = $service->users_messages->listUsersMessages( $user, $params );
$list = $messages->getMessages();
//$list only has 500 messages returned to me.

1 个答案:

答案 0 :(得分:3)

为了增加清晰度,这就是正在发生的事情。您执行了Users.messages: list,可以获取1600条以上的消息。现在我非常确定Gmail能够获取1600多条消息,但它一次只能显示500条消息。

如果要访问下一个501-1000消息,则需要使用每个成功响应附带的nextPageToken。接下来的1001-1500条消息依旧等等。

您可以在Gmail Request body

中阅读此处提到的nextPageToken

enter image description here