Я создаю надстройку с надписью для управления тикетами.Я использую сам скрипт приложений и самый быстрый пример разработчиков G Suite.
Мне бы хотелось, чтобы при выборе метки он отображался в данный момент в открытом сообщении или, по крайней мере, обновлялся, когдавозвращение в папку «Входящие».
Ярлыки обновляются только в том случае, если я обновляю браузер (F5) или нажимаю кнопку «Обновить» в папке «Входящие».
Я пытался использовать метод обновления потока, когда «toggleLabel»"выполняется.
Также с альтернативами 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);
}
Можно ли программно обновить список меток сообщений в интерфейсе пользователя из аддона?