Javascript google API 快速入门错误
Javascript google API quickstart error
我正在学习这里的教程:https://developers.google.com/apps-script/api/quickstart/js。当我尝试使用客户端 ID 和 API 密钥插入 window 平台本地 运行 quickstart.html 时,它在第 144 行抛出错误:
Uncaught SyntaxError: Invalid or unexpected token.
Uncaught ReferenceError: handleClientLoad is not defined at HTMLScriptElement.onload
在完成本快速入门之前,我是否遗漏了其他需要启用的内容?
我认为 Google 示例脚本中存在一些问题。
我发现和修改的是,
- 脚本标签上的异步和延迟属性
您可能想使用 async 属性,但快速解决方法是删除 async 并向第一个和第二个脚本标记添加 defer。
<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\"}"
}]
- 调用不存在的函数
示例代码在不存在的updateSigninStatus
中调用了callScriptFunction
。必须是callAppsScript
但后者需要参数
我将调用 callScriptFunction();
替换为以下内容,它起作用了。
callAppsScript(gapi.auth2.getAuthInstance());
通过进行上述更改,示例可以在 server-side 上创建新脚本,但更新时会返回错误。
所以看起来示例代码中还有一些潜在的问题,但我想这是另一个问题,与原问题无关。
我正在学习这里的教程:https://developers.google.com/apps-script/api/quickstart/js。当我尝试使用客户端 ID 和 API 密钥插入 window 平台本地 运行 quickstart.html 时,它在第 144 行抛出错误:
Uncaught SyntaxError: Invalid or unexpected token.
Uncaught ReferenceError: handleClientLoad is not defined at HTMLScriptElement.onload
在完成本快速入门之前,我是否遗漏了其他需要启用的内容?
我认为 Google 示例脚本中存在一些问题。 我发现和修改的是,
- 脚本标签上的异步和延迟属性
您可能想使用 async 属性,但快速解决方法是删除 async 并向第一个和第二个脚本标记添加 defer。
<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\"}"
}]
- 调用不存在的函数
示例代码在不存在的updateSigninStatus
中调用了callScriptFunction
。必须是callAppsScript
但后者需要参数
我将调用 callScriptFunction();
替换为以下内容,它起作用了。
callAppsScript(gapi.auth2.getAuthInstance());
通过进行上述更改,示例可以在 server-side 上创建新脚本,但更新时会返回错误。 所以看起来示例代码中还有一些潜在的问题,但我想这是另一个问题,与原问题无关。