2012-06-19 129 views
0

我試圖創建簡單的腳本,訂閱用戶將公司日曆。它將被嵌入到谷歌網站中。到目前爲止,我有:谷歌Apps腳本subscribeToCalendar()不費一槍

function doGet(e) { 
    var app = UiApp.createApplication(); 
    var mainPanel = app.createVerticalPanel();  
    var mainButton = app.createButton("Push Me"); 
    var clickHandler = app.createServerHandler("addCalendar"); 

    mainButton.addClickHandler(clickHandler); 
    mainPanel.add(mainButton); 
    app.add(mainPanel); 

    return app; 
} 

function addCalendar(e) { 
    var app = UiApp.getActiveApplication(); 

    var CAL_ID = (calendar's ID); 
    CalendarApp.subscribeToCalendar(CAL_ID); 

    var successLabel = app.createLabel("You have successfully added the Calendar."); 
    app.add(successLabel); 
    return app; 
} 

addCalendar()作爲顯示successLabel被調用,但它似乎被跳過訂閱日曆。在添加GUI之前,我可以訂閱日曆,所以問題必須與此相關。

感謝您的幫助!

編輯 - 在https://developers.google.com/apps-script/guide_user_interfaces的谷歌文檔中,有一個表格顯示作爲獨立servlet顯示的UI以作者身份運行,而電子表格中顯示的UI以運行腳本的用戶身份運行。這可能是問題的根源嗎?

+0

感謝您的幫助。 – JChurch

回答

0

我覺得你的編輯回答你的問題......但如果你的客戶端有一個「業務」或「教育」帳戶,您可以閱讀this doc,以幫助您找到一個解決方案。

0

當腳本作爲服務發佈/ web應用程序運行下的開發者的身份,這意味着錯誤的用戶被訂閱的日曆。如果應用程序顯示在電子表格中,那麼它將以活動用戶的身份運行。