我为特定的传入电子邮件分配了不同的标签,并且在设置中禁用了线程(对话视图)。
我可以在网络应用程序中输入搜索,返回我想要的特定消息,
例如:
“标签:customer01 标签:报告”
然而,使用与 API 完全相同的过滤器会返回线程以及 Google 确定的所有消息属于同一个对话的一部分(即使在现实世界中它们不是),这意味着我的脚本不应该另外处理消息给那些应该的人。
例如:
var 线程 = GmailApp.search(gSearchExp); // 其中 gSearchExp 是前面提到的过滤器
有没有办法可以搜索并返回消息,而不是线程?
使用 Gmail API 怎么样?我认为通过使用Gmail API,您可以检索带有特定标签的邮件。示例脚本如下。
要使用此功能,请在高级 Google 服务和 API 控制台中启用 Gmail API。您可以在以下位置查看如何操作here https://stackoverflow.com/a/50883782.
示例脚本:
var userId = "me";
var query = "label:customer01 label:report";
var res = Gmail.Users.Messages.list(userId, {q: query});
var ids = res.messages.map(function(e){return e.id});
Logger.log(ids) // Message IDs with the specific labels.
Note:
- 在此示例脚本中,将检索具有特定标签的消息 ID。例如,如果您想检索消息正文,请使用检索到的消息 ID 来检索它们。
- 请修改
var userId = "me"
到您的环境。
参考:
- 用户.消息:列表 https://developers.google.com/gmail/api/v1/reference/users/messages/list
如果我误解了你的问题,请告诉我。我想修改它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)