PHP   发布时间:2022-04-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了php-当maxResults设置为100时,Gmail List API返回所有消息大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在努力安装Gmail List API,但由于某种原因,即使将maxResults设置为100,它也会返回收件箱中的所有5,000条消息.这是我当前的代码:@H_801_1@

$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条消息.@H_801_1@

解决方法:@H_801_1@

所以我才意识到,您正在收到所有邮件,因为即使您以100片的形式收到邮件,您最终还是会循环执行直到您将所有邮件都收进收件箱…@H_801_1@

如果只想要前100个,请尝试以下方法:@H_801_1@

$messages = array();
try {
  $opt_param = array(
    'maxResults' => 100,
    'labelIds' => 'INBox'
  );
  $messagesResponse = $service->users_messages->listusersmessages($userId, $opt_param);
  $messages = $messagesResponse->getmessages();
} catch (Exception $E) {
  print 'An error occurred: ' . $e->getmessage();
}
if(!empty($messages)) {
  foreach ($messages as $messagE) {
    print 'message with ID: ' . $message->getId() . '<br/>';
  }
}

return $messages;

所以我基本上删除了do / while循环…@H_801_1@

希望这可以帮助!@H_801_1@

大佬总结

以上是大佬教程为你收集整理的php-当maxResults设置为100时,Gmail List API返回所有消息全部内容,希望文章能够帮你解决php-当maxResults设置为100时,Gmail List API返回所有消息所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: