Обновление интерфейса сообщения GMail при смене меток через аддон - PullRequest
0 голосов
/ 09 июля 2019

Я создаю надстройку с надписью для управления тикетами.Я использую сам скрипт приложений и самый быстрый пример разработчиков 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);
 }

Можно ли программно обновить список меток сообщений в интерфейсе пользователя из аддона?

...