相关疑难解决方法(0)

JSONP使用Google Apps脚本的ContentService?

我试图用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代码来发布它:

  • 执行应用程序:用户访问Web应用程序
  • 谁有权访问该应用:任何人

不幸的是,每当我尝试运行/打开包含代码的HTML文件时,我在浏览器的控制台中出现以下错误,并且没有任何反应:

在此输入图像描述

如何在没有错误的情况下运行Google Apps脚本链接中提供的此示例?




[可选]详细调查问题:

浏览器生成的资源文件中发现的错误如下: 在此输入图像描述

浏览器翻译的DOM如下:

<html>
   <head>
       <script src="https://script.google.com/macros/s/AKfycbwZCY0qrZ09szGvKOttA30IaJkdMAZrh_oNnvv0qzCqFWyuO5Wc/exec?start=1325437200&amp;end=1325439000&amp;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.

如何克服这个问题?

javascript jsonp google-apps-script

3
推荐指数
1
解决办法
4437
查看次数

在 doGet(e) 上将参数传递给 webapp

我试图弄清楚 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".

google-apps-script

3
推荐指数
1
解决办法
8605
查看次数

标签 统计

google-apps-script ×2

javascript ×1

jsonp ×1