繁体   English   中英

如何从网页调用Google Apps脚本

[英]How to Call Google Apps Script from Web Page

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

我的网页----> Google Script ----> Google电子表格
我的网页<---- Google Script <---- Google电子表格

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

这本质上是一个聊天室程序,聊天室存储在电子表格中。 我希望用户能够创建一个新的聊天室,这应该更新谷歌电子表格。

查看使用GET参数。 https://stackoverflow.com/a/14736926/2048063

这是关于该主题的先前问题

您可以使用e.parameter访问doGet(e)函数中GET传递的参数。 如果你调用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=?时,jQuery会认出它?callback=? 在你的URL之后。 它将您的输出包装在回调函数中,该函数允许以您的数据作为参数在您的站点上运行该函数。 在这种情况下,回调函数是在读取function (data) {的行中定义的function (data) {

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM