如何通过 Google Apps 脚本删除行中的线程消息?
How to delete thread messages in row via Google Apps Script?
我尝试编写函数来删除 Gmail 线程中包含多封邮件的邮件。
function movetotrash()
{
var thread = GmailApp.getInboxThreads(0,1)[0]; // Get first thread in inbox
if (thread==null)
{}
else
{
var message = thread.getMessages()[0]; // Get the latest message
Logger.log('zero'+thread.getMessages()[0].getPlainBody());
message.moveToTrash()
}
}
我可以看到邮件在 gmail 界面中消失了。
但是当我再次调用这个函数时,我可以看到消息 [0] 是相同的
修改点:
- 在您的脚本中,移至垃圾箱的电子邮件仍然可以使用
var message = thread.getMessages()[0]
检索。这样,在您 运行 脚本之后,您可以使用 var message = thread.getMessages()[0]
检索相同的消息。我认为这可能是您遇到问题的原因。
- 如果你想使用
moveToTrash()
,检查邮件是否在垃圾箱中怎么样?在这种情况下,您可以使用 isInTrash()
.
当以上几点在你的脚本中体现出来,就变成了下面的样子。
修改后的脚本:
发件人:
var message = thread.getMessages()[0]; // Get the latest message
ogger.log('zero'+thread.getMessages()[0].getPlainBody());
message.moveToTrash()
收件人:
var messages = thread.getMessages();
for (var i = 0; i < messages.length; i++) {
if (messages[i].isInTrash()) continue;
Logger.log(messages[i].getPlainBody());
messages[i].moveToTrash();
break;
}
- 通过此修改,邮件每隔 运行.
移至垃圾箱
示例脚本:
从你的标题How to delete thread messages in row via Google Apps Script?
来看,如果你想删除跟帖的所有留言,也可以使用下面的脚本。
在您使用此脚本之前,please enable Gmail API at Advanced Google services。
var thread = GmailApp.getInboxThreads(0, 1)[0]; // Get first thread in inbox
if (thread) {
Gmail.Users.Threads.remove("me", thread.getId());
}
- 此脚本删除线程。因此,当您对此进行测试时,请使用示例线程测试脚本。请注意这一点。
参考文献:
我尝试编写函数来删除 Gmail 线程中包含多封邮件的邮件。
function movetotrash()
{
var thread = GmailApp.getInboxThreads(0,1)[0]; // Get first thread in inbox
if (thread==null)
{}
else
{
var message = thread.getMessages()[0]; // Get the latest message
Logger.log('zero'+thread.getMessages()[0].getPlainBody());
message.moveToTrash()
}
}
我可以看到邮件在 gmail 界面中消失了。 但是当我再次调用这个函数时,我可以看到消息 [0] 是相同的
修改点:
- 在您的脚本中,移至垃圾箱的电子邮件仍然可以使用
var message = thread.getMessages()[0]
检索。这样,在您 运行 脚本之后,您可以使用var message = thread.getMessages()[0]
检索相同的消息。我认为这可能是您遇到问题的原因。 - 如果你想使用
moveToTrash()
,检查邮件是否在垃圾箱中怎么样?在这种情况下,您可以使用isInTrash()
.
当以上几点在你的脚本中体现出来,就变成了下面的样子。
修改后的脚本:
发件人:
var message = thread.getMessages()[0]; // Get the latest message
ogger.log('zero'+thread.getMessages()[0].getPlainBody());
message.moveToTrash()
收件人:
var messages = thread.getMessages();
for (var i = 0; i < messages.length; i++) {
if (messages[i].isInTrash()) continue;
Logger.log(messages[i].getPlainBody());
messages[i].moveToTrash();
break;
}
- 通过此修改,邮件每隔 运行. 移至垃圾箱
示例脚本:
从你的标题How to delete thread messages in row via Google Apps Script?
来看,如果你想删除跟帖的所有留言,也可以使用下面的脚本。
在您使用此脚本之前,please enable Gmail API at Advanced Google services。
var thread = GmailApp.getInboxThreads(0, 1)[0]; // Get first thread in inbox
if (thread) {
Gmail.Users.Threads.remove("me", thread.getId());
}
- 此脚本删除线程。因此,当您对此进行测试时,请使用示例线程测试脚本。请注意这一点。