Моя кнопка не может найти Google Скрипт для листов. Это дает мне ошибку «не удалось найти»

#google-apps-script

Вопрос:

Мне удалось собрать воедино функцию, приведенную ниже. Однако теперь это не позволяет мне назначить скрипт кнопке. Он продолжает выдавать мне эту ошибку «Не удалось найти обновленные данные функции скрипта». Имя файла и имя функции являются «обновленными данными». Функция теперь работает идеально, поэтому должны быть какие-либо ошибки, которые помешали бы ей найти скрипт.

 function updateData() {
  var app = SpreadsheetApp;
  var ss = app.openById('1MNYUjdt0OCeOZyoNVAZbIRoM7kevG12njF5i57FyR5A');
  var db = ss.getSheetByName('Dashboard');
  var inputR  = db.getRange('B54:L54');
  var inputV = inputR.getValues();
  var data = db.getRange('B59:L1051').getValues();
    for (var i = 0; i<data.length; i  ) {
    if (!data[i].join("")) break;
  }
  var emptyRow = i   1;
  db.getRange(58   emptyRow, 2, 1, 11).setValues(inputV);
  inputR.clearContent();
  Logger.log(emptyRow);
  Logger.log(inputV);
}
 

Обновление — 10/2/2021

Проблема:
Я выяснил, в чем проблема. Это немного странно. Я заметил, что, если я вошел в несколько учетных записей Gmail в рамках одного сеанса Google Chrome, когда я нажимаю «Инструменты» > «Редактор сценариев» в электронной таблице, он попытается перенести меня на страницу приложения Google script для учетной записи пользователя по умолчанию(это первая учетная запись, в которую вы вошли в рамках сеанса). Поскольку я создал свою электронную таблицу в учетной записи Gmail, отличной от моей учетной записи по умолчанию, она выдаст ошибку разрешения. Что я сделал, так это зашел на домашнюю страницу приложения Google script и создал новый проект на странице профиля приложения Google script. Несмотря на то, что код будет работать, когда вы запустите его в приложении-скрипте, кнопка в Google таблицах не сможет найти нужную функцию.

Решение:
Мне пришлось открыть электронную таблицу в окне инкогнито, войти только в ту учетную запись, в которой я создал электронную таблицу, и перейти в инструменты>редактор сценариев. В новом проекте, который он создал, я вставил код из функции исходного сценария. Я обновил название функции и назначил ее кнопке. БАМ! Наконец-то решено!

Я заметил, что мой список проектов в приложении Google script выглядел так, что значок ссылки для нового проекта (см. Рисунок (желтая подсветка)) был значком Google Листов (то есть он был связан), а в старом проекте (зеленая подсветка) был только значок сценария.

Изображение моей страницы проектов Google Script

Ответ №1:

Понимание основной проблемы:
я обнаружил проблему. Это немного странно. Я заметил, что, если я вошел в несколько учетных записей Gmail в рамках одного сеанса Google Chrome, когда я нажимаю «Инструменты» > «Редактор сценариев» в электронной таблице, он попытается перенести меня на страницу приложения Google script для учетной записи пользователя по умолчанию(это первая учетная запись, в которую вы вошли в рамках сеанса). Поскольку я создал свою электронную таблицу в учетной записи Gmail, отличной от моей учетной записи по умолчанию, она выдаст ошибку разрешения. Что я сделал, так это зашел на домашнюю страницу приложения Google script и создал новый проект на странице профиля приложения Google script. Несмотря на то, что код будет работать, когда вы запустите его в приложении-скрипте, кнопка в Google таблицах не сможет найти нужную функцию.

Решение:
Мне пришлось открыть электронную таблицу в окне инкогнито, войти только в ту учетную запись, в которой я создал электронную таблицу, и перейти в инструменты>редактор сценариев. В новом проекте, который он создал, я вставил код из функции исходного сценария. Я обновил название функции и назначил ее кнопке. БАМ! Наконец-то решено!

Я заметил, что мой список проектов в приложении Google script выглядел так, что значок ссылки для нового проекта (см. Рисунок (желтая подсветка)) был значком Google Листов (то есть он был связан), а в старом проекте (зеленая подсветка) был только значок сценария.

Изображение моей страницы проектов Google Script