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); 
} 
+0

我意识到......这就是为什么我要求帮助。有没有人有任何建议如何做到这一点? – mada2885

+0

搜索不会像你说的那样返回一个字符串。该文档将向您显示它返回的内容。 –

+0

https://developers.google.com/apps-script/reference/gmail/gmail-app#search(String) –

望着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]) 
} 

search()

getMessages()

starMessage()