11

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

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

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

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

4

1 回答 1

18

研究使用 GET 参数。https://stackoverflow.com/a/14736926/2048063

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

doGet(e)您可以使用 GET 在您的函数中访问由 GET 传递的参数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)); 
              });
});

以及产生这个的相应气体。

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 时,jQuery 会识别它。它将您的输出包装在一个回调函数中,该函数允许该函数以数据作为参数在您的站点上运行。在这种情况下,回调函数是在读取的行中定义的函数function (data) {

于 2013-02-16T21:14:37.277 回答