2015-12-21 59 views
1

我希望每個用戶(在我工作的公司)都能將Gmail數據記錄到(第三方系統)Harvest中。手動運行Google App腳本和觸發器導致的結果不同

我通過一個html-webbapp發佈了一個Apps腳本,其中每個用戶通過按下按鈕啓動觸發器(運行singel函數)。

我的問題是,只有當它手動運行時,所有東西都能正常工作。當功能被觸發時,Gmail數據會記錄到我的用戶(而不是運行它的用戶)。我已登錄到用戶(遇到此問題)並且觸發器設置正確。該功能在手動觸發時正確運行。

Psudo代碼:

var user = Session.getEffectiveUser().getEmail(); 
var gmailData = GmailApp.getInboxThreads(0,1)[0]; 
UrlFetchApp.fetch(
    "https://api.com", 
    { 
    "headers": {'Authorization':"hash of admin (my) user/pw"}, 
    "method": "post", 
    "payload": "add data " + gmailData + " to user " + user 
    } 
); 
+0

每個用戶都必須設置自己的觸發器,您的只能爲您工作。您可以要求他們打開腳本編輯器並將其自行設置,或者在每次單擊該按鈕時在腳本中進行設置。 –

回答

0

Webapp運行一箇舊版本的結果,而手冊是當前代碼。更新到新版本解決了我的問題。

0

嘗試

Session.getEffectiveUser().getEmail(); 

可安裝扳機(編程在這種情況下)誰創造了觸發和getEffectiveUser()返回auth'd用戶的身份驗證下運行用戶正在處理腳本的實例。

+0

沒有變化。該功能僅在手動運行時發送給目標用戶。 –