Appscript не выполняется после авторизации под V8 по сравнению со средой выполнения Rhino - PullRequest
0 голосов
/ 26 марта 2020

У меня есть базовый c AppScript, который создает элемент меню, выполняет функцию, когда пользователь нажимает на элемент меню. Функция предлагает пользователю ввести URL-адрес. Этот код встроен в Google Do c, доступный только для чтения, поэтому пользователям сначала нужно сделать копию Google Do c.

. Это работало, как предполагалось, пока я не включил среду выполнения V8. Теперь, когда пользователь нажимает на элемент меню «Создать отчетные карточки Qurani c», пользователю предоставляются стандартные диалоговые окна авторизации, а после нажатия кнопки «Разрешить» сценарий не отображает диалоговое окно «Введите полную ссылку Ваша электронная таблица. "

Когда я возвращаю среду выполнения к унаследованному приложению (он же Rhino), диалоговое окно отображается, как и ожидалось. Я не смог найти ничего в документации по миграции (https://developers.google.com/apps-script/guides/v8-runtime/migration), которую мне нужно реализовать, чтобы справиться с этим.

Фрагмент кода ниже. Помощь будет оценена!

function onOpen() {
  DocumentApp.getUi()
    .createMenu('Report Cards')
    .addItem('Create Report Cards', 'termReport')
    .addToUi();
}

// Create Term Report
function termReport() {

  // Prompt user to provide google sheet URL
  ui = DocumentApp.getUi();
  prompt = ui.prompt("Enter full link of your spreadsheet:", ui.ButtonSet.OK_CANCEL);

  // Check if valid url was entered
  try {
    wsID = SpreadsheetApp.openByUrl(prompt.getResponseText()).getId();
  } catch(err) {
    ui.alert("You entered an invalid link for the spreadsheet. Please re-run script with correct link.");
    return;
  }
  ...
  ...

1 Ответ

0 голосов
/ 26 марта 2020

Как только onOpen() создает пункт меню, пользователь должен завершить поток OAuth, чтобы использовать функцию в сценарии. Диалоговое окно OAuth появляется, когда пользователь нажимает на элемент пользовательского меню, для сценария которого требуются специальные разрешения.

Как только пользователь успешно завершает поток OAuth, он может нормально использовать функцию элемента пользовательского меню. Как указано в документации, это ожидаемое поведение: Пользовательские меню G Suite -> "9. Теперь, когда скрипт авторизован, нажмите на ссылку, которую вы добавили на страницу снова . Функция теперь будет выполняться ... "

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...