如何使用 Gmail API(节点)阅读未读邮件
How to read unread emails with the Gmail API (node)
我正在创建一个机器人,它将接收发送到特定帐户的电子邮件并将它们推送到不和谐服务器。我找到了 Gmail API。我怎样才能找到未读邮件,并在操作后将它们标记为已读?
Gmail API 不会立即检测是否有新电子邮件到达。但是,您可以触发脚本来检查来自特定发件人的未读电子邮件。
例如:
var newEmails = Gmail.Users.Threads.list("me", {"q":"is:unread from:email"});
//do stuff with them
然后遍历线程并从中删除 unread
标签,以便在下一次搜索中不再重复它们:
for (var i = 0; i < newEmails.threads.length; i++){
var threadId = newEmails.threads[i].id;
Gmail.Users.Threads.modify({"removeLabelIds":["UNREAD"]}, "me", threadId);
}
如果您使用的是 Apps 脚本,请在“编辑”>“当前项目触发器”中每隔 x 分钟或小时为 运行 函数创建一个触发器。
参考文献:
我正在创建一个机器人,它将接收发送到特定帐户的电子邮件并将它们推送到不和谐服务器。我找到了 Gmail API。我怎样才能找到未读邮件,并在操作后将它们标记为已读?
Gmail API 不会立即检测是否有新电子邮件到达。但是,您可以触发脚本来检查来自特定发件人的未读电子邮件。
例如:
var newEmails = Gmail.Users.Threads.list("me", {"q":"is:unread from:email"});
//do stuff with them
然后遍历线程并从中删除 unread
标签,以便在下一次搜索中不再重复它们:
for (var i = 0; i < newEmails.threads.length; i++){
var threadId = newEmails.threads[i].id;
Gmail.Users.Threads.modify({"removeLabelIds":["UNREAD"]}, "me", threadId);
}
如果您使用的是 Apps 脚本,请在“编辑”>“当前项目触发器”中每隔 x 分钟或小时为 运行 函数创建一个触发器。
参考文献: