0
背景:我有一個谷歌的網站,我已經從包含我的學生的標記的谷歌電子表格中提取信息,但是我想,使其更動態,讓他們可以要求所有的報告當他們想要的時候標記。在我寫的腳本中,學生將輸入一個密碼,點擊一個按鈕,然後他們的標記將被生成。谷歌Apps腳本持久
問題:從我讀過,當他們按一下按鈕,該按鈕的處理程序導致要腳本重新運行。當前的電子表格不能存儲,當我嘗試訪問電子表格,它告訴我,這是空。我如何再次訪問電子表格?我試過使用ScriptProperties,但我得到了相同的結果。順便說一下,如果我不嘗試將它作爲web應用程序運行,它將起作用。
這裏的的doGet()函數,一旦UI上的按鈕被按下時調用的getPassword來()函數的一部分。
function doGet() {
var app = UiApp.createApplication();
app.add(app.loadComponent("MyGui"));
var panel = app.getElementById("VerticalPanel1");
var text = app.createPasswordTextBox().setName("text");
var handler = app.createServerHandler("getResults").addCallbackElement(text);
panel.add(text);
panel.add(app.createButton("Get Record", handler));
SpreadsheetApp.getActiveSpreadsheet().show(app);
}
function getResults(eventInfo) {
var app = UiApp.createApplication();
var password = eventInfo.parameter.text;
var panel = app.getElementById("VerticalPanel1");
var textArea = app.createRichTextArea();
panel.add(textArea);
var pointsSheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var passwordCheckRange = pointsSheet.getRange("B70:C94").getValues();
...
你並不需要通過ID作爲參數,這是一個恆定值,即可以在任何時刻。在另一方面web應用程序的doGet功能不應該結束「展(APP)」 –