2014-01-21 69 views
0

我正在爲我的公司創建一些Google應用程序腳本,用於爲員工培訓生成隨機測試。我已經編寫了基本腳本來從谷歌工作表中獲取問題列表,隨機化他們,抓住前10個問題等。這一切都正常。我決定用UiApp而不是單獨的腳本來重新做整個事情可能會更好。這就是問題出現的地方。我做了一個簡單的骨幹UiApp測試,發佈它並試圖訪問URL,這就是我遇到這個錯誤的地方。我搜索了這個錯誤,所有我能找到的都是關於這是谷歌應用程序首映的一部分的討論(應該在2010年左右將其歸入常規谷歌應用程序)。我一直盯着這個這麼長時間,我感到沮喪。它應該是非常簡單的東西,但它拒絕工作。我假設我在基本水平上做錯了什麼,但是我已經達到了我的大腦拒絕看到它的地步。基本UiApp因錯誤而失敗「ReferenceError:」UIApp「未定義。」

下面是基本的腳本,我開始:

function doGet(e) { 
var app = UiApp.createApplication(); 
var mainPanel = app.createVerticalPanel().setId('mainPanel'); 
mainPanel.add(app.createLabel('test')); 
return app; 
} 

我保存它,發佈並轉到URL,這就是當我得到上面的錯誤消息。我知道這很簡單,但我已經到了沮喪的地步,根本看不到它。

回答

0

更新:反映意見
另一種可能性的WebApp不更新不發佈一個新版本,只檢查exec URL。要即時更改代碼,請始終檢查dev網址。 exec只會在保存管理版本中的版本並重新發布應用後纔會更改。

第一個答案:
我想你的問題標題說明了一切。

UIApp未定義,但類別爲UiApp。 JS是區分大小寫的。我完全複製並粘貼了代碼中的代碼,並且沒有收到任何錯誤。我不得不添加一行來使標籤顯示。

function doGet(e) { 
    var app = UiApp.createApplication(); 
    var mainPanel = app.createVerticalPanel().setId('mainPanel'); 
    mainPanel.add(app.createLabel('test')); 

    app.add(mainPanel); // <-- I added this line to see the label 

    return app; 
} 
+0

我檢查了案件的第一件事。首次發生錯誤時,我注意到首都「我」,並認爲我錯誤地將其大寫了。在我的代碼中是正確的UiApp – user3220484

+0

你在檢查'/ exec' URL還是dev的URL?如果您正在檢查'/ exec' URL,那麼您需要保存一個新版本並重新發布該Web應用程序。開發網址應該立即顯示更改。 – fooby

+0

你好,先生是個天才。我正在執行/ exec URL。我嘗試了開發的URL,它像冠軍一樣工作。我無法告訴你現在我感覺有多好。我真的以爲我失去了我的想法。 :-) – user3220484

相關問題