对于消息或线程ID的列表,我想抓住它们的标签,而不必为它们单独调用API。
这种情况的用例是,我已经将所有消息都捕获到一个标签中,并且我需要对没有在列表中具有标签的任何消息进行处理。 “忽略的”标签,而无需为每个单独的消息进行API调用。我猜我也可以进行某种搜索,例如“ in:label not:(in:x或in:y或in:z)”,但我不确定如何使用REST API进行搜索。
(以前,我使用https://mail.google.com/
范围来获取对IMAP的原始访问权限,但是随着该范围的逐步淘汰,我正努力使用REST API进行相同的操作)
答案 0 :(得分:2)
我认为您无法使用Gmail API来实现此功能,因为获取标签(GET)的功能需要每个线程的ID,因此您需要为每封邮件调用API。 / p>
但是,您对Gmail搜索的看法是正确的。您必须使用Appscripts中的GmailApp通过这种方式进行操作:
function getNonlabeled() {
var threads = GmailApp.search("has:nouserlabels"); //You can put any Gmail search parameter here
for (var i = 0; i < threads.length; i++){
Logger.log(threads[i].getId());
}
}