«В этом сеансе редактора не было запущено ни одной функции» - проблема с Google App Script - PullRequest
2 голосов
/ 10 апреля 2020

Я пытаюсь создать веб-приложение с помощью Google Apps Script.

Однако, когда я развертываю свой проект (в новой версии) как веб-приложение, а затем просматриваю журнал, он показывает сообщение «В этом сеансе редактора не было запущено никаких функций».

Код HTML сохраняется как "page. html" (как ожидается функцией). Пожалуйста, помогите мне

function doGet(e)
{
  
  return HtmlService.createHtmlOutputFromFile("page");
  Logger.log(e);
}
<!DOCTYPE html>
<html>
<head>
  <base target="_top">
</head>
<body>
  <h1> Hello 3 </h1>
</body>
</html>

Ответы [ 2 ]

3 голосов
/ 10 апреля 2020

У вас есть 2 небольших проблемы,

1.- Ваш doGet(e) выполняет инструкцию возврата перед тем, как вы фактически зарегистрируете событие e. и поэтому Logger.log(e); не выполняется.

2.- Класс скриптов Apps Logger работает только в сеансе скриптов приложений. (Вам нужно выполнить функцию из редактора, чтобы увидеть этот журнал). Также имейте в виду, что doGet(e) при запуске из редактора будет иметь значение e, но при выполнении запроса GET к вашему развернутому веб-приложению оно не будет иметь значение null.

Решение :

function doGet(e){
    // Log the event in StackDriver
    console.log(e); 
    return HtmlService.createHtmlOutputFromFile("page");
}
0 голосов
/ 10 апреля 2020

Вот быстрый диалог:

GS:

function showDialog() {
  SpreadsheetApp.getUi().showModelessDialog(HtmlService.createHtmlOutputFromFile("page"), 'test');
}

function sayHowdy() {
  return "Howdy";
}

HTML:

<!DOCTYPE html>
<html>
<head>
  <base target="_top">
</head>
<body>
  <h1> Hello 3 </h1>
  <input id="msg" type="text" readonly />
  <input type="button" value="Say Hello" onClick="sayHello()" />
  <script>
  function sayHello() {
    google.script.run
    .withSuccessHandler(function(msg){
      document.getElementById('msg').value=msg;
      })
      .sayHowdy()
  }
  </script>
</body>
</html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...