Надстройка Gmail - «Отсутствует токен доступа» при использовании getMessages () в нескольких потоках (но хорошо для потока текущего сообщения) - PullRequest
0 голосов
/ 28 ноября 2018

Я написал дополнение к Gmail, которое, когда пользователь открывает электронное письмо, находит метку потока (у этой темы есть только одна метка).Если существует несколько потоков с одинаковой меткой, он выбирает сообщения в этих потоках.В противном случае он получает сообщения из цепочки с открытым письмом.

Когда есть только одна ветка, он работает нормально.Когда есть несколько потоков, я получаю ошибку токена доступа: Доступ запрещен: Отсутствует токен доступа для авторизации.Запрос: MailboxService.GetThread.[строка: xx (строка, выделенная в коде ниже) и т. д.

Насколько я могу судить, надстройка правильно использует токен доступа.Количество писем и потоков очень мало (три или четыре потока с несколькими сообщениями в каждом).

Ниже приведена упрощенная версия моего кода.Кто-нибудь знает, почему я должен получить ошибку токена доступа, когда я пытаюсь получить доступ к сообщениям других потоков?

Я пытался использовать другие методы для создания массива сообщений (поиск, фильтр / функция и т. Д.), Норезультат тот же: нет проблем с одним потоком, содержащим триггерное письмо, но доступ запрещен при доступе к нескольким потокам.

function getAllMessagesWithTheSameLabel(message) {
  var threads = [];
  var messages = [];
  var thread = message.getThread();
  var label = thread.getLabels()[0];
  if (label.getThreads().length > 1) {
    threads = label.getThreads();
    **messages = GmailApp.getMessagesForThreads(threads);**
  } else {
    messages = GmailApp.getMessagesForThread(thread);
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...