我正在创建一个消息标签附加组件来管理票证。我使用Apps脚本本身和G Suite开发人员的快速入门示例。
我希望选择标签时,它会在打开的消息中显示,或者至少在返回收件箱时会更新。
仅当我刷新浏览器(F5)或按收件箱中的“刷新”按钮时,标签才会更新。
在执行“ toggleLabel”时,我尝试使用线程的Refresh方法。
还有GmailApp.refreshThread(thread)
和GmailApp.refreshMessage(message)
的选择。
我尝试过的另一种选择是使用一个按钮,该按钮的属性setStateChanged
被激活。
它们都不起作用。我总是必须手动刷新。这是简化的代码。
选择标签后执行此功能。
function toggleLabel(e){
var selected;
if (selected != null){
for each (var label in GmailApp.getUserLabels()) {
if(selected.indexOf(label.getName()) != -1){
thread.addLabel(label);
}
else {
thread.removeLabel(label);
}
}
}
else {
for each (var label in GmailApp.getUserLabels()) {
thread.removeLabel(label);
}
}
thread.refresh();
}
这是按下按钮时执行的功能。
function notifyUser(e) {
var parameters = e.parameters;
var notificationText = parameters['notifyText'];
return CardService.newActionResponseBuilder()
.setNotification(CardService.newNotification()
.setText(notificationText)
.setType(CardService.NotificationType.INFO))
.setStateChanged(true)
.build(); // Don't forget to build the response!
GmailApp.refreshThread(thread);
GmailApp.refreshMessage(message);
}
是否可以通过插件以编程方式更新用户界面中的消息标签列表?