簡體   English   中英

將 Web 應用程序鏈接到 Google 表格

[英]Link a Webapp to a Google Sheet

我需要一些幫助/建議。 我有一個簡單的 Web 應用程序供我學校的老師使用,可以讓他們在設備上快速記錄小組的分數。 界面看起來像這樣:

在此處輸入圖像描述

數據被發送到谷歌表格,在那里他們可以隨着時間的推移編譯/分析結果。

目前,這是由一個人使用的,因此它只鏈接到一張 Google 表格。 我在 GAS 中創建了界面,然后在 Sheets 中構建了一個數據庫,然后在 GAS 腳本中鏈接了 Web 應用程序和 Sheet,如下所示:

function doGet(e) {
var htmlOutput = HtmlService.createTemplateFromFile("page");

  var ss = SpreadsheetApp.openById("xxxxxx"); //ID for the Sheet is entered here.
  var ws = ss.getSheetByName("Setup");

  var col = ws.getRange("A:A").getValues();
  var hlr = getLastRowSpecial(col);

  var col = ws.getRange("B:B").getValues();
  var alr = getLastRowSpecial(col);

  var groups = ws.getRange("A2:A"+hlr).getValues().flat();

  htmlOutput.groups = groups;

  return htmlOutput.evaluate().setTitle('Points');
} 

在手動創建並鏈接兩者后,我使用 GAS 將腳本“部署”為 Web 應用程序,並與使用它的老師共享鏈接。

對於我的下一步,我想把它提供給其他老師。 但是,我不確定如何在不必手動創建工作表、將 ID 復制到 GAS 中,然后部署和共享鏈接的情況下使其可用。

任何人都可以就如何使這個網絡應用程序更容易定制和共享提供建議嗎? 一個想法是,我可以創建一個 Google 表格作為模板,然后將其用作腳本的容器。 然后,添加一個按鈕或下拉列表,一旦教師完成模板中的必要字段,他們就可以單擊按鈕或下拉列表來創建鏈接以部署 Web 應用程序。 但是,我不知道是否可以通過 GAS 發布 Web 應用程序而無需手動執行。

編輯為了澄清我的問題,我需要將此 Web 應用程序綁定到創建的每個實例的不同工作表。 我想將此作為附加組件發布,但我需要將所有響應發送到用戶擁有和控制的各個表格。

編輯#2我已將應用程序作為表格插件發布。 我嘗試使用ScriptApp.getService().getUrl(); 創建一個指向 Web 應用程序方面的鏈接,但是(如其他帖子中所報告的)這不起作用。 我需要的是一個單一的網絡應用程序,每個用戶都可以綁定到一個獨特的谷歌表格。 有沒有辦法將工作表 ID 放入 Web 應用程序 URL 並讓 Web 應用程序從 URL 中提取 ID? 如果我能做到這一點,我可以處理剩下的事情。 例如,如果我的網絡應用程序鏈接是: https ://script.google.com/macros/s/ABCDE/exec,我的工作表 ID 是:12345678 我可以這樣鏈接https://script.google.com /macros/s/ABCDE/exec/12345678會將 12345678 傳遞到腳本中嗎? 或者類似的方法? 任何想法或資源表示贊賞。

我想到了! 我使用 e 參數將工作表 URL 傳遞給 webapp。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM