Javascript google API 快速入门错误



我正在从这里开始学习教程:https://developers.google.com/apps-script/api/quickstart/js。当我尝试使用客户端 ID 和 API 密钥插入在窗口平台上本地运行快速入门.html时,它会在第 144 行引发错误,指出:

未捕获的语法错误:令牌无效或意外。
未捕获的引用错误:在 HTMLScriptElement.onload 中未定义handleClientLoad

在完成本快速入门之前,我是否错过了需要启用的其他内容?

我认为谷歌示例脚本中存在一些问题。 我发现和修改的是,

  1. 脚本标记上的异步和延迟属性

您可能希望使用 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"
  1. 调用应用程序脚本函数内字符串的语法错误。

这似乎是转义语法错误和网页中示例代码的换行符处理的组合。以下是我修改的代码的工作片段。

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. 调用不存在的函数

示例代码调用不存在updateSigninStatus内部callScriptFunction。它必须是callAppsScript但后者需要一个参数。

我将调用callScriptFunction();替换为以下内容,它起作用了。

callAppsScript(gapi.auth2.getAuthInstance());

通过进行上述更改,示例可以在服务器端创建新脚本,但在更新时会返回错误。 所以看起来示例代码中还有一些潜在的问题,但这是另一个问题,我猜与原始问题无关。

相关内容

  • 没有找到相关文章

最新更新