我试图用contentService的,以服务JSONP与网页谷歌Apps脚本,按照所提供的样本此链接下的"在网页服务JSONP"子课题.
GS代码:
function doGet(request) {
var events = CalendarApp.getEvents(
new Date(Number(request.parameters.start) * 1000),
new Date(Number(request.parameters.end) * 1000));
var result = {
available: events.length == 0
};
return ContentService.createTextOutput(
request.parameters.prefix + '(' + JSON.stringify(result) + ')')
.setMimeType(ContentService.MimeType.JSON);
}
Run Code Online (Sandbox Code Playgroud)
HTML/JS代码:
<script src="https://script.google.com/macros/s/AKfycbwZCY0qrZ09szGvKOttA30IaJkdMAZrh_oNnvv0qzCqFWyuO5Wc/exec?start=1325437200&end=1325439000&prefix=alert"></script>
Run Code Online (Sandbox Code Playgroud)
我通过webapp使用以下参数部署GS代码来发布它:
不幸的是,每当我尝试运行/打开包含代码的HTML文件时,我在浏览器的控制台中出现以下错误,并且没有任何反应:

如何在没有错误的情况下运行Google Apps脚本链接中提供的此示例?
浏览器翻译的DOM如下:
<html>
<head>
<script src="https://script.google.com/macros/s/AKfycbwZCY0qrZ09szGvKOttA30IaJkdMAZrh_oNnvv0qzCqFWyuO5Wc/exec?start=1325437200&end=1325439000&prefix=alert">
</script>
</head>
<body></body>
</html>
Run Code Online (Sandbox Code Playgroud)
生成的链接,在我的情况是:
" https://script.google.com/macros/s/AKfycbwZCY0qrZ09szGvKOttA30IaJkdMAZrh_oNnvv0qzCqFWyuO5Wc/exec?start=1325437200&end=1325439000&prefix=alert "
如果此链接放置在浏览器地址栏中,它显示了以下信息:

这意味着返回的授权响应无法在浏览器上显示并被转换为有效DOM.
如何克服这个问题?
我试图弄清楚 URL 中的参数如何传递给doGet()函数。我尝试做
https://script.google.com/a/macros/[my domain].com/s/[some random string generated by GAS]其次是"&variable=data"
但它只给了我这个错误: “抱歉,您请求的文件不存在。”
仅供参考,https://script.google.com/a/macros/[my domain].com/s/[some random string generated by GAS]无需使用即可正常工作"&variable=data".