我目前正在使用我的項目中的Google Apps腳本。但面對觸發問題。 場景:Google Apps腳本觸發器問題
兩個用戶 - 用戶A - 用戶B
登錄作爲用戶A,創建一個谷歌電子表格和文字給它。還創建了一些觸發器。對於例如
電子表格是共享與編輯權限的用戶B。現在我以UserB身份登錄。
案例1:嘗試將新的觸發腳本添加 結果=>觸發器被創建,但只顯示給用戶B
案例2:修改現有的觸發器(由用戶A創建) 結果=>無法看到由UserA創建的觸發器。即使修改操作沒有任何錯誤發生。沒有更改應用於該觸發器。
案例3:刪除現有觸發器(由UserA創建) 結果=>看不到由UserA創建的觸發器。即使刪除運行沒有發生任何錯誤。沒有更改應用於該觸發器。我仍然可以使用UseA登錄來查看它。
我Qusetion:
1.Is有什麼辦法 - 修改由用戶B這是由用戶A創建觸發器? - UserB添加新的觸發器,UserA可見?
- Google應用程序腳本有任何功能可以更改上下文/會話嗎?例如,儘管UserB已登錄;將會話更改爲UserA並執行整個操作(添加/修改/刪除),然後再次更改回UseB會話?
下面是我的方法:
function createTimeDrivenTriggers() {
ScriptApp.newTrigger("assignEditUrls")
.timeBased()
.atHour(0)
.nearMinute(59)
.everyDays(1)
.create();
ScriptApp.newTrigger('processInputXML')
.timeBased()
.everyMinutes(5)
.create();
ScriptApp.newTrigger('assignFormResponseIDs')
.timeBased()
.everyMinutes(30)
.create();
ScriptApp.newTrigger('setSRHistoryColumn')
.timeBased()
.everyMinutes(1)
.create();
}
function createSpreadSheetTriggers() {
var sheet = SpreadsheetApp.getActiveSpreadsheet();
ScriptApp.newTrigger("onOpen")
.forSpreadsheet(sheet)
.onOpen()
.create();
ScriptApp.newTrigger("sendEmailNotificationsOnFormSubmit")
.forSpreadsheet(sheet)
.onFormSubmit()
.create();
ScriptApp.newTrigger("notifyProductAssigneeOnFormSubmit")
.forSpreadsheet(sheet)
.onFormSubmit()
.create();
}
function deleteTrigger() {
// Loop over all triggers.
var allTriggers = ScriptApp.getProjectTriggers();
for (var i = 0; i < allTriggers.length; i++) {
ScriptApp.deleteTrigger(allTriggers[i]);
}
}
任何幫助將不勝感激。提前致謝。
感謝您的寶貴迴應。我通過UserA以編程方式添加了觸發器,但仍無法訪問和修改UserB的觸發器。 – Seuli