簡體   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