小编典典

如何从网页调用Google Apps脚本

ajax

为此搜寻了高低。我有一个基本的HTML / CSS /
JS网页。我希望用户能够访问该页面,并在打开页面时调用我制作的Google脚本,该脚本从电子表格中获取信息并将其中一些显示在页面上。我希望我不必像Google教程中那样进行任何设置,因为它们都对我没有帮助。

我的网页----> Google脚本----> Google电子表格
我的网页<-— Google脚本<-— Google电子表格

用户应该能够选择网页上显示的项目(从电子表格填充的项目),然后单击按钮,该按钮将允许用户进入带有从所选项目派生的URL的新页面。

本质上,这是一个聊天室程序,其中,聊天室存储在电子表格中。我希望用户也可以创建一个新的聊天室,从而可以更新Google电子表格。


阅读 305

收藏
2020-07-26

共1个答案

小编典典

您可以使用来访问GET在doGet(e)函数中传递的参数e.parameter。如果您致电http://script.google......./exec?method=doSomething

function doGet(e) {
  Logger.log(e.parameter.method);
}

doSomething 在这种情况下,将被写入日志。

可以使用ContentService从脚本返回数据,该服务允许您提供JSON(我建议)。在我看来,JSON最容易在GAS端以及在客户端使用。

最初的“填充列表”调用看起来像这样。我会用jQuery编写它,因为我觉得这很干净。

var SCRIPT_URL = "http://script.google.com/[....PUT YOUR SCRIPT URL HERE....]/exec";
$(document).ready(function() {
    $.getJSON(SCRIPT_URL+"?callback=?",
              {method:"populate_list"},
              function (data) { 
                alert(JSON.stringify(data)); 
              });
});

以及产生此结果的相应GAS。

function doGet(e) {
  if (e.parameter.method=="populate_list") {
    var v = {cat:true,dog:false,meow:[1,2,3,4,5,6,4]}; //could be any value that you want to return
    return ContentService.createTextOutput(e.parameter.callback + "(" + JSON.stringify(v) + ")")
        .setMimeType(ContentService.MimeType.JAVASCRIPT);
  }
}

此方法称为JSONP,jQuery支持。当您?callback=?在URL后面加上时,jQuery会识别它。它将您的输出包装在回调函数中,该函数允许将该函数以数据作为参数在您的站点上运行。在这种情况下,回调函数是在读取行中定义的函数function(data) {

2020-07-26