ReferenceError:未定义SpreadsheetApp

时间:2014-12-04 13:55:23

标签: javascript google-apps-script google-sheets

我得到" ReferenceError:没有定义SpreadsheetApp"当我运行上面的代码。有什么错误吗? 这在脚本编辑器中工作,但不在单独的文件中工作

<html>

<head>
    <title>Site</title>
</head>
<body>

<p id="demo"></p>
<script type='text/javascript' src='https://www.google.com/jsapi'></script>

<script>
var ss = SpreadsheetApp.openById('1-wYHx2ynT1fMAUKHSeRDBABjE_cAbJ2tfBP_deKjhGs');
document.getElementById("demo").innerHTML =ss.getName();
</script>

</body>
</html>

2 个答案:

答案 0 :(得分:1)

看看Google Apps Script tutorials。在大多数情况下,GAS是所有服务器端脚本,而您正试图获得对电子表格的客户端访问。它没有这样的工作。您需要按照其中一个教程并打开脚本编辑器开始编写代码。

答案 1 :(得分:0)

您需要以 html 应用程序脚本允许的方式重定向调用函数。请看下面的简单行,它允许您访问任何功能

一个名为“lookatme.html”的文件

</script>
function doStuff() {
google.script.run.doStuff()
console.log("ggg")
  }
        </script>

如果是 .gs 扩展文件而不是 html 文件,它会识别下面的代码和任何扩展应用程序脚本的内置函数

一个名为“anyfile.gs”的文件

function doStuff() {

console.log("ggg")
// google.script.run.userClicked(userInfo)
var ss = SpreadsheetApp.openByUrl("https://docs.google.com/spreadsheets/d/1i9of_RcoDih65x2h7-agSdCaUSvc1fvfOm4Y7dQEb-s/edit#gid=0")
var ws = ss.getSheetByName("Data")
ws.appendRow(["name"])

  }