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

时间:2018-06-07 20:56:56

标签: php google-api gmail-api google-api-php-client

对于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声明就绪,domain2.com查看您的声明' ]);

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

$ list = $ service-> users_messages-> listUsersMessages('me',['maxResults'=> 100,'q'=>'语句就绪,查看您的陈述']);

上述所有场景中的逗号是字符串的分隔符。如果我有一个域或字符串,查询工作正常。但它无法返回任何包含其中两个字符串的结果,例如语句就绪并查看您的语句。

1 个答案:

答案 0 :(得分:1)

您希望将查询用作“AND”和“OR”。如果我的理解是正确的,那么这个答案怎么样?作为示例字符串,此处使用“sample1”,“sample2”和“sample3”。

模式1:

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

sample1 sample2 sample3

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

(sample1 sample2 sample3)

模式2:

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

sample1 OR sample2 OR sample3

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

{sample1 sample2 sample3}

模式3:

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

{(sample1 sample2) sample3}

参考:

如果这对你的情况没用,我误解了你的问题,我很抱歉。