我们可以通过一次通话从收件箱和发件箱中获取电子邮件(gmail API PHP)

i'm using Gmail API to fetch messages. if i do like this

$labelIds = ['INBOX'];
$opt_params=[
    'labelIds' => $labelIds,
];
$list = $gmail->users_messages->listUsersMessages('me',$opt_params);

it will work fine. and return messages. but if i mention SENT label with INBOX then it return nothing. what am i doing wrong?

$labelIds = ['INBOX', 'SENT'];

i want to fetch emails from both inbox and sentbox in one call.

展开翻译

译文

我正在使用Gmail API来获取邮件。 如果我喜欢这个</ p>

  $ labelIds = ['INBOX']; 
$ opt_params = [
'labelIds'=&gt; $ labelIds,
];
$ list = $ gmail-&gt; users_messages-&gt; listUsersMessages('me',$ opt_params);
</ code> </ pre>

它将会 工作得很好。 并返回消息。 但如果我用INBOX提到SENT标签,那么它什么都不返回。 我做错了什么?</ p>

  $ labelIds = ['INBOX','SENT']; 
</ code> </ pre>

我想在一次通话中从收件箱和发件箱中提取电子邮件。</ p>
</ div>

1个回答

Your code lists messages that has both the INBOX and SENT labels. You can list messages that has either one with the OR operator:

$opt_params=[
    'maxResults' => 50,
    'q' => 'in:inbox OR in:sent',
];
$list = $gmail->users_messages->listUsersMessages('me', $opt_params);

展开翻译

译文



您的代码列出了同时包含 INBOX </ code>和 SENT </ code>标签的消息。 您可以列出具有 OR </ code>运算符的消息:</ p>

  $ opt_params = [
'maxResults'=&gt; 50,
'q'=&gt; 'in:inbox OR in:sent',
];
$ list = $ gmail-&gt; users_messages-&gt; listUsersMessages('me',$ opt_params);
</ code> </ pre>
</ DIV>

dongwen7730
dongwen7730 绝对。 Gmail查询中存在隐式AND,例如 in:inbox in:发送将被解释为:inbox AND in:sent。 所以你写的东西会很棒。 如果需要,您可以以第二精度查询日期。
2 年多之前 回复
douzuita7325
douzuita7325 我们可以在查询中使用AND条件吗? 喜欢(之后:某个日期和之前:某个日期)AND(在:收件箱中或在:已发送)和'some_keyword_to_match'
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问