Google Apps脚本Gmail Star搜索结果

时间:2016-08-23 20:16:54

标签: google-apps-script

我有一个脚本的开头(下方)来搜索和标记特定邮件,但问题是GmailApp.search()方法返回一个GmailApp.starMessage()无法处理的字符串(错误是"无法将Array转换为GmailMessage")。如何从字符串转换搜索或以某种方式将其关联到可用对象?

function starEmail() {
  var email = GmailApp.search('from:address@email.com is:unread')
  GmailApp.starMessage(email);
}

1 个答案:

答案 0 :(得分:0)

查看GmailApp文档,您似乎必须在.search().starMessage()方法之间添加额外的步骤。

.search()会返回GmailThread[]类型,而.starMessage()则需要类型GmailMessage。您需要使用.getMessages()类中的GmailThread方法将搜索结果数组转换为一组消息,然后您可以将其加注星标:

function starEmail(){
    var threads = GmailApp.search('search:parameters'); //returns array

    //assuming search returns one thread as question suggests
    //otherwise, a for-in loop would probably be appropriate here.
    var message = threads[0].getMessages(); //returns array

    GmailApp.starMessage(message[0]) 
}

search()

getMessages()

starMessage()