Как отлаживать gmail-аддоны с реальной почтой

Я хочу создать надстройку Gmail. Я уже создал приложение для быстрого старта:

https://developers.google.com/gmail/add-ons/guides/quickstart

Итак, функция триггера для этого примера:

    function buildAddOn(e) {
  // Activate temporary Gmail add-on scopes.
  var accessToken = e.messageMetadata.accessToken;
  GmailApp.setCurrentMessageAccessToken(accessToken);

  var messageId = e.messageMetadata.messageId;
  var senderData = extractSenderData(messageId);
  var cards = [];

  // Build a card for each recent thread from this email's sender.
  if (senderData.recents.length > 0) {
    senderData.recents.forEach(function(threadData) {
      cards.push(buildRecentThreadCard(senderData.email, threadData));
    });
  } else {
    // Present a blank card if there are no recent threads from
    // this sender.
    cards.push(CardService.newCardBuilder()
      .setHeader(CardService.newCardHeader()
        .setTitle('No recent threads from this sender')).build());
  }
  return cards;
}

В редакторе скриптов приложений вы можете отладить эту функцию, но, поскольку мы не в Gmail, мы не можем получить параметр «e», поэтому на самом деле вы не можете отлаживать его с реальными данными.

Я развернул этот пример как надстройку разработчика и могу использовать его в своей учетной записи Gmail. Пытался найти функцию где-нибудь в коде, поставил отладчик; или console.log (), но мне не удалось выполнить отладку в браузере.

Итак, как я могу отладить сценарий надстройки Gmail с реальными данными Gmail?


person esayli    schedule 30.10.2017    source источник
comment
привет ты получил на это ответ? По какой-то причине я не вижу надстройку, когда открываю письмо в Gmail   -  person BKSpurgeon    schedule 10.07.2018
comment
У меня такая же проблема; Я подозреваю, что, поскольку плагин не запущен в редакторе скриптов, вы не можете использовать службу Logger. Я думаю, что stackdriver может быть вариантом (хотя это добавляет уровень сложности к простой в остальном фреймворк) или, иначе, просто добавлению его в качестве элемента пользовательского интерфейса во время разработки (фактически возвращаясь к отладке с помощью операторов печати :(   -  person askvictor    schedule 11.02.2019


Ответы (2)


Надстройки Gmail не могут запускать клиентский код, поэтому консоль браузера не будет очень полезной, но мы могли бы использовать Logger для записи сообщений в редактор сценариев или использовать console для записи сообщений в Stackdriver.

person Rubén    schedule 06.02.2018

Я бы предложил использовать встроенный регистратор: https://developers.google.com/apps-script/reference/base/logger.

Вы можете просматривать журналы каждый раз, когда запускается ваше дополнение.

person Justin Bailey    schedule 03.11.2017
comment
Спасибо за ваш ответ. Я использую регистратор для отладки, но вопрос был в том, как я могу использовать свой скрипт, как будто он работает в Gmail. Позвольте мне объяснить более четко. В настоящее время в сценарии приложения на вкладке «Выполнение» есть функция тестирования как надстройки. Когда вы используете это, вы можете запускать надстройку с любым документом и проводить реальное тестирование на реальном документе. Я спрашивал, есть ли способ сделать что-то подобное с Gmail? Поскольку я пишу надстройку Gmail - person esayli; 10.11.2017
comment
К сожалению, не знаю. Я подозреваю, что нет (пока). - person Justin Bailey; 17.11.2017