为啥“category:social”在 GMail UI 搜索中使用,但在 GmailApp.search("category:social", 0, 500) 中不起作用

Posted

技术标签:

【中文标题】为啥“category:social”在 GMail UI 搜索中使用,但在 GmailApp.search("category:social", 0, 500) 中不起作用【英文标题】:Why does "category:social" with in GMail UI search, but does not work in GmailApp.search("category:social", 0, 500);为什么“category:social”在 GMail UI 搜索中使用,但在 GmailApp.search("category:social", 0, 500) 中不起作用 【发布时间】:2021-11-24 07:18:44 【问题描述】:

因此,将“category:social”放在 GMail UI 中会正确返回“社交”选项卡中的电子邮件。

输入const threads = GmailApp.search("category:social", 0, 500); 不会返回任何内容。

社交分类的电子邮件确实出现在const threads = GmailApp.search("category:updates", 0, 500);

我不明白 GMail 如何使用类别标签吗?

【问题讨论】:

【参考方案1】:

GMAIL UI 和 Apps 脚本搜索返回完全相同的结果

您可以再次测试,例如修改您的代码如下并查看日志:

function test()
  const threads = GmailApp.search("category:social", 0, 500); 
  threads.forEach(function(thread)
  console.log(thread.getFirstMessageSubject())
  )

顺便说一句,您可以根据需要调整类别标签 - 无论是从 Gmail UI 还是 Gmail API

您可以在打开电子邮件并单击标签图标时查看/编辑标签:

【讨论】:

谢谢,我在其他地方发现了一个影响起始索引号的错误。 值得注意的是,如果请求的批处理中的剩余消息数 (max) 小于 start 索引号,则存在此行为的原因是 search(query, start, max) 将返回一个空数组。因此,在下面的示例中,如果剩余 9 条消息并且全部满足搜索条件,则返回将为空。谷歌文档:// Find starred messages with subject IMPORTANT and return second batch of 10. // Assumes there are at least 11 of them, otherwise this will return an empty array. var threads = GmailApp.search('is:starred subject:"IMPORTANT"', 10, 10);

以上是关于为啥“category:social”在 GMail UI 搜索中使用,但在 GmailApp.search("category:social", 0, 500) 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

如何将 Json 转换为 NSDictionary? [关闭]

根据材料设计指南实施 SearchView

在 android 上使用 smack 面临问题

以编程方式更新 gtalk 状态?

无法在 paypal 中配置 PDT 或 IPN

在 Pyspark 中屏蔽/替换字符串列的内部