Google apps script 使用谷歌脚本从一个线程中永久删除一条gmail消息
我想永久删除垃圾桶中已存在的线程中的Gmail邮件 我在那里合并了一些脚本,所以我可以延迟和跟踪电子邮件。它的工作原理是保存草稿,然后脚本将草稿复制到新的电子邮件中,在指定的时间发送,然后将原始草稿发送到垃圾箱。问题是,偶尔会再次发送垃圾箱中的草稿(我还不知道为什么) 作为解决方法,我使用了最初发布在此处的以下代码: 这不会得到任何错误,但如果草稿位于包含多条消息的线程中,则整个线程将被删除,而不仅仅是草稿 那么,有没有办法只删除草稿 我尝试在线程内调用草稿的消息id,并使用原始的第6行:Google apps script 使用谷歌脚本从一个线程中永久删除一条gmail消息,google-apps-script,gmail,gmail-api,Google Apps Script,Gmail,Gmail Api,我想永久删除垃圾桶中已存在的线程中的Gmail邮件 我在那里合并了一些脚本,所以我可以延迟和跟踪电子邮件。它的工作原理是保存草稿,然后脚本将草稿复制到新的电子邮件中,在指定的时间发送,然后将原始草稿发送到垃圾箱。问题是,偶尔会再次发送垃圾箱中的草稿(我还不知道为什么) 作为解决方法,我使用了最初发布在此处的以下代码: 这不会得到任何错误,但如果草稿位于包含多条消息的线程中,则整个线程将被删除,而不仅仅是草稿 那么,有没有办法只删除草稿 我尝试在线程内调用草稿的消息id,并使用原始的第6行: fu
function cleanUp2() {
var threads = GmailApp.search("in:trash is:draft");
Logger.log(threads.length);
for (var i = 0; i < threads.length; i++) {
var messages = threads[i].getMessages();
Logger.log(messages.length);
for (var j = 0; j < messages.length; j++){
if (messages[j].isDraft()){
Logger.log('id msg: ' + messages[j].getId());
Gmail.Users.Message.remove('me',messages[j].getId());
}
}
}
}
您可以在google的开发者页面中找到:。在“trythisapi”部分,它是有效的,但在我的实现中,我在第2行遇到了一个错误,它说(从西班牙语翻译过来,所以我不知道它是否准确):“操作符后面(后面?)缺少一个名称(?)”,“如果我在一个单独的选项卡中复制函数,我可以保存它并显示相同的错误
任何帮助都将不胜感激
关于,我终于通过http请求实现了:
function cleanUp2() {
var threads = GmailApp.search("in:trash is:draft");
Logger.log(threads.length);
var userId = 'xxxxx@gmail.com';
var options = {
'method' : 'delete',
'muteHttpExceptions': true
};
for (var i = 0; i < threads.length; i++) {
var messages = threads[i].getMessages();
Logger.log(messages.length);
for (var j = 0; j < messages.length; j++){
if (messages[j].isDraft()){
Logger.log('id msg: ' + messages[j].getId());
var url = 'https://www.googleapis.com/gmail/v1/users/' + userId + '/messages/' + messages[j].getId();
var response = UrlFetchApp.fetch(url,options);
Logger.log(response);
}
}
}
}
函数cleanUp2(){
var threads=GmailApp.search(“in:trash是:draft”);
Logger.log(线程.长度);
var userId='1〕xxxxx@gmail.com';
变量选项={
'方法':'删除',
“muteHttpExceptions”:true
};
对于(var i=0;i
function cleanUp2() {
var threads = GmailApp.search("in:trash is:draft");
Logger.log(threads.length);
for (var i = 0; i < threads.length; i++) {
var messages = threads[i].getMessages();
Logger.log(messages.length);
for (var j = 0; j < messages.length; j++){
if (messages[j].isDraft()){
Logger.log('id msg: ' + messages[j].getId());
Gmail.Users.Message.remove('me',messages[j].getId());
}
}
}
}
function deleteMessage(userId, messageId) {
var request = gapi.client.gmail.users.messages.delete({
'userId': userId,
'id': messageId
});
request.execute(
function(resp) { });
}
function cleanUp2() {
var threads = GmailApp.search("in:trash is:draft");
Logger.log(threads.length);
var userId = 'xxxxx@gmail.com';
var options = {
'method' : 'delete',
'muteHttpExceptions': true
};
for (var i = 0; i < threads.length; i++) {
var messages = threads[i].getMessages();
Logger.log(messages.length);
for (var j = 0; j < messages.length; j++){
if (messages[j].isDraft()){
Logger.log('id msg: ' + messages[j].getId());
var url = 'https://www.googleapis.com/gmail/v1/users/' + userId + '/messages/' + messages[j].getId();
var response = UrlFetchApp.fetch(url,options);
Logger.log(response);
}
}
}
}