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

标签 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.

最佳答案

为了澄清这一点,这就是正在发生的事情。您执行了Users.messages: list它获取 1600 多条消息。现在我很确定 Gmail 已提取了这 1600 多封邮件,但它一次只能显示 500 封邮件。

如果您想访问接下来的 501-1000 条消息,则需要使用每个成功响应附带的 nextPageToken。接下来的 1001-1500 条消息也是如此。

您可以阅读 Gmail Request body 中提到的 nextPageToken

enter image description here

关于php - Gmail API 将所有 Gmail 收件箱邮件限制为 500 条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43269704/

相关文章:

php - PHP中变量的默认值?

java - 如何访问 NAT 路由器后面的 ServerSocket?

google-apps-script - 使用 Google Calendar API 从事件中删除资源(例如 session 室)

ruby - 为什么 Google 的自定义搜索 API 说我在使用 Ruby 客户端时缺少访问 token ?

php - Laravel 5.2 中无法与主机 smtp.gmail.com 建立连接 [连接超时 #110]

php - 从键 1 开始内爆

php - 使用php mysql动态显示图像

c# - 无法使用 Google API 更新 GTM 变量

html - Gmail 在显示 :none 时卡住

gmail - 无法使用 Gmail API 中的高级搜索来搜索特定颜色的星号( super 星号)。