为此搜索了高低。我有一个基本HTML / CSS / JS的网页。我希望用户能够访问该页面,在打开页面时,会调用我制作的谷歌脚本,该脚本从电子表格中获取信息并在页面上显示一些信息。我希望我不必像谷歌的教程那样做任何花哨的设置,因为它们都没有对我有帮助。
我的网页----> Google Script ----> Google电子表格
我的网页< ---- Google Script< ---- Google电子表格
用户应该能够选择网页上显示的项目(从电子表格填充的项目)并单击一个按钮,该按钮允许用户输入一个新页面,其中包含从所选项目派生的URL。
这实际上是一个聊天室程序,其中聊天室存储在电子表格中。我希望用户能够创建一个新的聊天室,这应该更新谷歌电子表格。
答案 0 :(得分:15)
查看使用GET参数。 https://stackoverflow.com/a/14736926/2048063
Here's a previous question on the topic
您可以使用doGet(e)
访问e.parameter
函数中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=?
放在URL后面时,jQuery会识别它。它将您的输出包装在回调函数中,该函数允许以您的数据作为参数在您的站点上运行该函数。在这种情况下,回调函数是在读取function (data) {
的行中定义的函数。