Чтобы диагностировать проблему с помощью google.script.run в настраиваемом диалоговом окне HTML, я запустил пример сценария Google и код HTML для диалоговых окон в моей учетной записи и в учетной записи G Suite. Вот пример Google: https://developers.google.com/apps-script/guides/html/communication. Код показан ниже.
В моем личном кабинете код работал отлично. Появился пользовательский диалог HTML, и функция doSomething создала вывод журнала.
В моей учетной записи G Suite функция doSomething вообще не запускалась. Я пытался играть с настройками, тестировать как дополнение, публиковать в Интернете и т. Д., Но не смог заставить пример кода Google работать. Я потратил час на сеанс чата с поддержкой Google.
Мое предположение: мне не хватает нескольких шагов авторизации и / или настроек в моей учетной записи G Suite. Пожалуйста помоги! Я новичок в G Suite AddOn Marketplace и буду признателен за очень подробные инструкции c для следующих шагов. Я хочу убедиться, что мой настоящий скрипт работает на моей учетной записи G Suite, прежде чем отправлять его на проверку. Я хотел бы использовать настраиваемые диалоговые окна, чтобы я мог собирать пользовательский ввод в нескольких полях.
Вот ссылка на документ с снимками экрана моего разрешения и выполнения windows. Я НЕ получил ожидаемое предупреждение «Это приложение не подтверждено» в моей учетной записи G Suite. https://docs.google.com/document/d/1IiXmPE7zB1E-s_Uzzhmc0ggOCkz3qqcy1cqZrezkgSg/edit?usp=sharing
Вот код скрипта Google:
// code.gs
// Use this code for Google Docs, Slides, Forms, or Sheets.
function onOpen() {
SpreadsheetApp.getUi() // Or DocumentApp or SlidesApp or FormApp.
.createMenu('Dialog')
.addItem('Open', 'openDialog')
.addToUi();
}
function openDialog() {
var html = HtmlService.createHtmlOutputFromFile('Index');
SpreadsheetApp.getUi() // Or DocumentApp or SlidesApp or FormApp.
.showModalDialog(html, 'Dialog title');
}
function doSomething(){ // I added from second step of example
var ss = SpreadsheetApp.getActive();
var sheet = ss.getSheetByName('Sheet1');
var cell1 = sheet.getRange("A1");
cell1.setValue("did something");
Logger.log("did something")
};
Вот код HTML для файла Index. html:
<!DOCTYPE html>"
<html>
<head>
<base target="_top">
</head>
<body>
Hello, World!
<script>
google.script.run.doSomething();
</script>
<input type="button" value="Close"
onclick="google.script.host.close()" />
</body>
</html>
Аналогичный вопрос, заданный: Скрипт Google Apps - HTML служба не работает должным образом только для учетных записей G-suite