Ошибка быстрого запуска API Google Javascript
Я работаю над учебным пособием здесь: https://developers.google.com/apps-script/api/quickstart/js. Когда я пытаюсь запустить quickstart.html локально на оконной платформе с идентификатором клиента и вставкой ключа API, в строке 144 выдается сообщение об ошибке:
Uncaught SyntaxError: неверный или неожиданный токен.
Uncaught ReferenceError: handleClientLoad не определен в HTMLScriptElement.onload
Я пропустил что-то еще, что нужно включить, прежде чем пройти этот быстрый старт?
1 ответ
Я думаю, что есть некоторые проблемы в примере скрипта Google. То, что я нашел и изменил,
- атрибуты async и defer для тега script
Возможно, вы захотите использовать атрибут async, но быстрое решение состоит в том, чтобы удалить async и добавить defer к 1-му и 2-му тегам сценария.
<pre id="content"></pre>
<!-- add defer to the first script tag -->
<script defer type="text/javascript">
...
<!-- remove async from the 2nd tag -->
<script defer src="https://apis.google.com/js/api.js"
- Синтаксическая ошибка в строках внутри функции callAppsScript.
Кажется, что это комбинация экранирования синтаксической ошибки и обработки новой строки примера кода на веб-странице. Ниже приведен рабочий фрагмент кода, который я модифицировал.
resource: {
files: [{
name: 'hello',
type: 'SERVER_JS',
source: 'function helloWorld() {\n console.log("Hello, world!");\n}'
}, {
name: 'appsscript',
type: 'JSON',
source: "{\"timeZone\":\"America/New_York\",\"exceptionLogging\":\"CLOUD\"}"
}]
- Вызов несуществующей функции
Пример кода звонков callScriptFunction
внутри updateSigninStatus
который не существует. Это должно быть callAppsScript
но последний требует параметра.
Я заменил призвание callScriptFunction();
к следующему, и это сработало.
callAppsScript(gapi.auth2.getAuthInstance());
Внося вышеуказанные изменения, образец может создать новый сценарий на стороне сервера, но при его обновлении возвращается ошибка. Таким образом, кажется, что в примере кода есть еще несколько потенциальных проблем, но это еще одна проблема, и я думаю, что она не имеет ничего общего с исходным вопросом.