2016-09-30 24 views
-1

用下面的代碼爲什麼e.user在Google Spreadsheet中爲空,簡單觸發onOpen(e)?

function onOpen(e) { 
    Logger.log(e.user); 
    Logger.log(e.source); 
    Logger.log(e.authMode); 
} 

我得到以下日誌如果我重新加載電子表格:


[16-09-30 12:05:18:915 EDT]

[16-09-30 12:05:18:917 EDT]電子表格

[16-09-30 12:05:18:919 EDT] LIMITED


從文檔here,我想不通爲什麼當我重新加載頁面的用戶將是空的 - 尤其是因爲我在image of me signed in

+0

看看這些限制:[https://developers.google.com/apps-script/reference/base/session#getActiveUser()] –

+0

嘗試添加一個onedit觸發器到同一個函數,看看是否它會記錄用戶。 –

+0

你有沒有試過我的答案? – noogui

回答

0

簽署試試這個裏面onOpen(e)

  1. 確保您使用的是bound script。從您的電子表格中,工具 - >腳本編輯器.. 我不認爲e.user可以在獨立腳本上運行。

  2. 使用Session.getActiveUser().getEmail()作爲另一種選擇。

下面是截圖。 enter image description here

+0

我確認我已經在使用綁定腳本。 當使用Session.getActiveUser()。getEmail()我得到不規則的行爲取決於所使用的帳戶/計算機組合,但我想我必須接受並繼續前進。 感謝您的幫助。我認爲我們通過Session.getActiveUser()。getEmail()找到了最好的解決方案,儘管它在我的一端並不是一個已解決的問題。 – mscottchristensen

+0

我設法使它工作,它應該也適用於你也:)不要忘記upvote /接受,如果答案有幫助。乾杯! – noogui

相關問題