首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >过滤消息列表

过滤消息列表
EN

Stack Overflow用户
提问于 2017-03-28 17:16:27
回答 1查看 206关注 0票数 0

我正在使用this example,使用我的自定义参数来仅获取特定的消息。我的问题是maxResults不工作,并且我找不到如何排除来自某些域的消息。这是我的自定义函数:

代码语言:javascript
复制
public function listMessages($userId) {
    $client= $this->getClient();
    $service = new Google_Service_Gmail($client);
    $pageToken = NULL;
    $messages = array();
    $opt_param = array(
        'maxResults' => 20,
        'q'=>'!in:chats'
        );
    do {
        try {
            if($pageToken) {
                $opt_param['pageToken'] = $pageToken;
            }       
            $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;
}

我仍然收到我所有的消息(除了hangout消息,这是唯一有效的过滤器)

EN

回答 1

Stack Overflow用户

发布于 2017-03-28 17:58:37

Maxrows用于分页。如果结果返回1000行,并且您将最大行数设置为100,则必须对nextpagetoken翻页10次才能获得所有结果。

将maxrows设置为20不会对您有所帮助,因为我认为min maxrows大约是100 (我相信这是大多数Google API的默认设置)。除非您的请求生成的行数少于100行,否则您得到的行数永远不会少于100行。

试试'q'=>'!@example.com'

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43065470

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档