我有一个脚本的开头(下方)来搜索和标记特定邮件,但问题是GmailApp.search()方法返回一个GmailApp.starMessage()无法处理的字符串(错误是"无法将Array转换为GmailMessage")。如何从字符串转换搜索或以某种方式将其关联到可用对象?
function starEmail() {
var email = GmailApp.search('from:address@email.com is:unread')
GmailApp.starMessage(email);
}
答案 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])
}