2013-04-03 89 views
0

我指定谷歌腳本,而不是一般的JavaScript的原因是因爲我發現的JavaScript的例子都使用HTML,谷歌腳本似乎不能很好地發揮與基本格式命令之外。在Google腳本中,如何將腳本嵌入到按鈕中?

我有一個函數formSubmitReply()發送基於表單提交的電子郵件,另一個addToCalendar()自動將表單提交填充到Calendar事件中。這些都已經過獨立測試並且運作良好。

我試圖做的是在點擊時執行addToCalendar()的電子郵件中包含一個「添加到日曆」按鈕。

我一直遇到的困難是錯誤「TypeError:Can not find function addToCalendar in object Generic。」我如何解決這個問題?

這裏是我的代碼的相關部分:

// Button setup 
function doGet() 
{ 

    var app = UiApp.createApplication(); 

    // Create button and give it a click handler 
    var button = app.createButton("Add to Calendar").setId("button"); 
    button.addClickHandler(app.createServerHandler("formSubmitReply")); 
    app.add(button); 

    return app; 

} 

// Email function 
function formSubmitReply(e) 
{ 

    // Call "button" application 
    var app = UiApp.getActiveApplication(); 

    /* Additional function code; excluded here */ 

    // Send email 
    GmailApp.sendEmail(userEmail, 
        "Event Support Request Submitted", 
        message + 
        app.getElementById("button").addToCalendar(e), 
        {name:"Media Services"}); 

} 

回答

0

我不認爲這是更多鈔票從電子郵件按鈕(或任何JS調用這樣一個應用程序的腳本功能,雖然我可能會被誤認爲上那個)。你可以做的是序列化來自e的信息。然後將url嵌入到應用程序腳本中,該腳本將處理作爲參數傳遞的編碼信息。網址長度有限,所以如果您發送的數據非常大,您可能需要嵌入一個將數據提交給應用腳本的表單。