2012-06-01 54 views
2

我正在開發一個谷歌應用程序腳本,該腳本作爲服務發佈,並由多個用戶通過UI訪問。用戶在Google Apps腳本發佈的用戶界面服務中共享UserProperties

我遇到的問題是,當一個用戶導致UserProperty被設置,所有用戶隨後將其UserProperty設置爲也。換句話說,它的行爲像一個ScriptProperty,而不是一個UserProperty,因爲它不是用戶特定的。所有用戶似乎都會導致這種情況發生。

我已經研究了我的代碼,我只是看不出它與此有關。我沒有提及EffectiveUser,所以只有ActiveUser可以設置這些值。

我的猜測是: - 我誤解UserProperties 的範圍 - 我的變量都莫名其妙地被破壞(我曾與其他UserProperties變量的問題做一些奇怪的東西)

有沒有人遇到過,或者不任何人有任何建議?

問候 克里斯

回答

5

UserProperties更適合於運行中的電子表格,而不是發佈的信息的腳本。原因是已發佈的腳本在創建該腳本的用戶的用戶標識下運行,而不是作爲調用腳本的人員的用戶標識運行。

因此,如果腳本由[email protected]編寫,那麼UserProperty將是[email protected]的腳本,無論誰調用腳本。所以,當一個用戶寫UserProperty,所​​有其他人看到相同的值

+1

他們的密鑰是「作爲服務發佈」。像Srik提到的,如果你想讓腳本在另一個用戶的上下文中運行,你需要讓他們明確地執行腳本(最常見的是從電子表格中)。 – mzimmerman

+0

Hi Srik/Matt。非常感謝您的答案,這是有道理的。我正在研究這樣的假設,即用戶屬性與活動用戶相關而不是有效用戶(實際上這樣的一組屬性將是最有用的)。好的,我必須去計劃B.一切順利,克里斯。 – ChrisG

+0

在作爲網絡應用程序進行部署時,Google腳本會詢問您是否以下列方式執行應用程序:我或訪問網絡應用程序的用戶。 – abbas

相關問題