Google Apps脚本Gmail明星搜索结果
问题描述:
我有一个脚本的开始(下面)来搜索并给出特定消息的星号,但问题是GmailApp.search()方法返回一个字符串,其中的GmailApp.starMessage()无法处理(错误是“无法将阵列转换为GmailMessage”)。我怎样才能从一个字符串转换搜索或将它关联到一个可用的对象?Google Apps脚本Gmail明星搜索结果
function starEmail() {
var email = GmailApp.search('from:[email protected] is:unread')
GmailApp.starMessage(email);
}
答
望着GmailApp文档,它看起来像你将有你的.search()
和你.starMessage()
方法之间添加一个额外的步骤。
.search()
返回类型GmailThread[]
,而.starMessage()
要求类型GmailMessage
。您将需要使用在GmailThread
类的.getMessages()
方法来搜索结果数组转换成消息数组,然后你就可以出演:
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])
}
我意识到......这就是为什么我要求帮助。有没有人有任何建议如何做到这一点? – mada2885
搜索不会像你说的那样返回一个字符串。该文档将向您显示它返回的内容。 –
https://developers.google.com/apps-script/reference/gmail/gmail-app#search(String) –