Php GMAIL 的实现 API - 使用多个字符串进行过滤

Php implementation for GMAIL API - filtering using multiple strings

对于 GMAIL API - 有没有一种方法可以在查询中使用多个字符串,而无需单独遍历每个字符串。以下是一些用例:

1 - 获取包含 domain1.com 或 domain2.com

的电子邮件的所有结果
$list = $service->users_messages->listUsersMessages('me',
  ['maxResults' => 100, 'q' => 'domain1.com  domain2.com']);

2 - 获取包含 domain1.com 或 domain2.com 且每个域专门匹配字符串

的电子邮件的所有结果
$list = $service->users_messages->listUsersMessages('me',
  ['maxResults' => 100, 
   'q' => 'domain1.com statement ready, domain2.com view your statement']);

3 - 获取与特定字符串匹配的电子邮件的所有结果

$list = $service->users_messages->listUsersMessages('me',
  ['maxResults' => 100, 
   'q' => 'statement ready, view your statement']);

以上所有场景中的逗号都是字符串的分隔符。如果我有一个域或字符串,查询工作正常。但是它无法 return 包含两个字符串的任何结果,例如语句准备好并查看您的语句。

您想将查询用作“AND”和“OR”。如果我的理解是正确的,那么这个答案呢?作为示例字符串,这里使用“sample1”、“sample2”和“sample3”。

模式 1:

如果要检索包含“sample1”、“sample2”和“sample3”所有字符串的邮件,可以使用以下查询。它使用 space.

sample1 sample2 sample3

你也可以这样使用。当字符串被括号括起来时,括号中的字符串用作“AND”。

(sample1 sample2 sample3)

模式二:

如果要检索至少包含“sample1”、“sample2”和“sample3”字符串之一的邮件,可以使用以下查询。 OR 是大写字母。

sample1 OR sample2 OR sample3

你也可以这样使用。当字符串被大括号括起来时,大括号中的字符串用作“OR”。

{sample1 sample2 sample3}

模式三:

从模式 1 和模式 2 中,如果您想检索包含“sample1”和“sample2”的邮件或包含“sample3”的邮件,您可以使用以下查询。

{(sample1 sample2) sample3}

参考: