Рабочее пространство Google, электронная таблица.Приложение.getUi (). showSidebar вызывает «TransportError», с кодом ошибки = 10, Путь = /wardeninit и google.script. выполнить не удастся

#google-apps-script

Вопрос:

Я пытаюсь создать скрипт приложения Google с помощью этого простого кода ниже

 function onInstall(e) {
  onOpen(e);
}

function onOpen(e) { 
  SpreadsheetApp.getUi()
      .createMenu('Test Menu')
      .addItem('Test', 'doTest')
      .addToUi();
}

function doTest() {
  var htmlOutput = HtmlService
  .createHtmlOutput('<p>Some Text</p>')
  .setTitle('My title');
  
  SpreadsheetApp.getUi().showSidebar(htmlOutput);
}
 

Боковая панель отображается правильно
[1]: https://i.stack.imgur.com/6QTR8.png
Но я получаю эту ошибку в консоли chrome:

сообщение: «Во время транспортировки или обработки этого запроса произошла ошибка. Код ошибки = 10, Путь = /wardeninit»

название: «Транспортер»

стек:»TransportError: Во время транспортировки или обработки этого запроса произошла ошибка. Код ошибки = 10, Путь = /wardeninit при новом Qo (https://docs.google.com/static/macros/client/js/3949079914-warden_bin_i18n_warden__vi.js:200:381) в Vo.w.Xc (https://docs.google.com/static/macros/client/js/3949079914-warden_bin_i18n_warden__vi.js:208:372) в Cf (https://docs.google.com/static/macros/client/js/3949079914-warden_bin_i18n_warden__vi.js:79:228) в Бф (https://docs.google.com/static/macros/client/js/3949079914-warden_bin_i18n_warden__vi.js:76:472) в xf.A (https://docs.google.com/static/macros/client/js/3949079914-warden_bin_i18n_warden__vi.js:76:419) в Cf (https://docs.google.com/static/macros/client/js/3949079914-warden_bin_i18n_warden__vi.js:79:228) в Бф (https://docs.google.com/static/macros/client/js/3949079914-warden_bin_i18n_warden__vi.js:76:472) в Во. (https://docs.google.com/static/macros/client/js/3949079914-warden_bin_i18n_warden__vi.js:207:159) в Ан (https://docs.google.com/static/macros/client/js/3949079914-warden_bin_i18n_warden__vi.js:165:294) в Do (https://docs.google.com/static/macros/client/js/3949079914-warden_bin_i18n_warden__vi.js:200:262)»

Я уже делал какой-то скрипт приложения Google раньше, но недавно получил эту ошибку. Что я делаю не так?

Обновлено Из-за этого «TransportError», любой скрипт «google.script.run» завершится ошибкой. Если я обновлю код следующим образом:

 function doTest() {
  var htmlOutput = 
  HtmlService.createHtmlOutputFromFile('Index');
  SpreadsheetApp.getUi().showSidebar(htmlOutput);
}

function doSomething() {
  Logger.log('I was called!');
}
 

И в Index.html является

 <!DOCTYPE html>
<html>
  <head>
    <base target="_top">
    <script>
    function onSuccess() {
       console.log("onSuccess");
    }
    
    function onFailure(error) {
       console.log("onFailure",error);
    }
      
    google.script.run.withSuccessHandler(onSuccess).withFailureHandler(onFailure).doSomething();
    </script>
  </head>
  <body>
  </body>
</html>
 

Ошибка всегда будет вызываться, и ошибка будет пустой.

Обновление 2 Проблема со сценарием «google.script.run» завершится ошибкой. только для учетной записи google workspace. Если я перейду в свою личную учетную запись gmail и сделаю аналогичный код, проблемы не возникнет.

Комментарии:

1. 1) Есть ли конкретная причина, по которой вы используете onInstall() и onOpen()? Функция onOpen() запускается при каждом открытии документа.

2. 2) Ошибки постоянно появляются в консоли, часто не связанные с вашим кодом. Если бы это не мешало вашей боковой панели работать, я бы не слишком беспокоился об этом. За исключением функции onInstall () (не уверен, почему это так, но может быть законной причиной), код выглядит хорошо.

3. Я согласен с @KrispinMiller, что я постоянно сталкиваюсь с подобными вещами. Я об этом не беспокоюсь.

4. @KrispinMiller я только что обновил проблему. Из-за «TransportError» любой сценарий «google.script.run» завершится ошибкой

5. @Cooper Из-за «TransportError» любой скрипт «google.script.run» завершится ошибкой

Ответ №1:

Я использовал ваш код вот так:

html:(имя файла: ah3.html)

 <!DOCTYPE html>
<html>
  <head>
    <base target="_top">
    <script>
    function onSuccess() {
       console.log("onSuccess");
    }
    function onFailure(error) {
       console.log("onFailure",error);
    }
    google.script.run.withSuccessHandler(onSuccess).withFailureHandler(onFailure).doSomething();
    </script>
  </head>
  <body>
    <div>Hello World</div>
  </body>
</html>
 

gs:

 function doTest() {
  var htmlOutput = HtmlService.createHtmlOutputFromFile('ah3').setTitle('My title');
  SpreadsheetApp.getUi().showSidebar(htmlOutput);
}

function doSomething() {
  Logger.log('I was called!');
}
 

Это работает на меня.

Если вы посмотрите в консоль, вы увидите onSuccess напечатанное, а если вы посмотрите в исполнениях, вы увидите Sep 3, 2021, 10:16:03 PM Info I was called!

Комментарии:

1. Не работает @Купер. Я снова создал код, как и ты.

2. Я открываю новый файл Google sheet, использую редактор инструментов/ сценариев для создания нового сценария, но проблема все равно возникает

3. я нахожу новую проблему. Если я использую другую учетную запись gmail (мою личную учетную запись), проблема исчезнет. Но если я перейду в учетную запись Google workspace, проблема повторится

4. Если у вас есть администратор в вашей учетной записи рабочей области, я бы поговорил с ними об этой проблеме.