我正在从这里开始学习教程:https://developers.google.com/apps-script/api/quickstart/js。当我尝试使用客户端ID和API键插入在窗口平台上本地运行quickstart.html时,它会在第144行抛出一个错误:
未登录的SyntaxError:无效的或意外的令牌。 未定义的ReferenceError: handleClientLoad未在HTMLScriptElement.onload中定义
在快速启动之前,我是否错过了其他需要启用的东西?
发布于 2018-03-21 07:57:31
我认为Google示例脚本中存在一些问题。我发现和修改的是,
您可能希望使用异步属性,但快速修复方法是移除异步,并将延迟添加到第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"这似乎是转义语法错误和网页中示例代码换行符处理的结合。下面是我修改的代码的工作片段。
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());通过进行上述更改,示例可以在服务器端创建一个新脚本,但是在更新该脚本时会返回错误。因此,在示例代码中似乎存在更多的潜在问题,但这是另一个问题,我想这与最初的问题无关。
https://stackoverflow.com/questions/48392887
复制相似问题