Ошибка быстрого запуска 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. То, что я нашел и изменил,

  1. атрибуты 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"
  1. Синтаксическая ошибка в строках внутри функции 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\"}"
          }]
  1. Вызов несуществующей функции

Пример кода звонков callScriptFunction внутри updateSigninStatus который не существует. Это должно быть callAppsScript но последний требует параметра.

Я заменил призвание callScriptFunction(); к следующему, и это сработало.

callAppsScript(gapi.auth2.getAuthInstance());

Внося вышеуказанные изменения, образец может создать новый сценарий на стороне сервера, но при его обновлении возвращается ошибка. Таким образом, кажется, что в примере кода есть еще несколько потенциальных проблем, но это еще одна проблема, и я думаю, что она не имеет ничего общего с исходным вопросом.

Другие вопросы по тегам