[英]Allow other users to execute google spreadsheet scripts
我制作了一個簡單的Google Spreadsheet,后面有一些腳本來根據狀態更新顏色,設置行的更新和創建日期以及其他一些控件。
當我用自己的用戶對其進行編輯時,所有方法都可以正常工作,但是現在將電子表格設置為公開(通過鏈接訪問),其他任何訪問電子表格的人都會收到一個錯誤, you do not have permissions to do this action
。
我正在使用onEdit()
觸發器,顯然來賓用戶沒有執行它們的權限。 我是否必須配置某些東西才能使其正常工作?
謝謝
不是一個真正的解決方案,但有一些觀察結果:
我編寫了一個腳本,並在新廣告表格類型的舊廣告上對其進行了測試:
function imwatchingus(event) {
Logger.log(JSON.stringify(event));
try{
if(event.value=="faux"){
SpreadsheetApp.getActiveRange().setBackground("red");
}
else if(event.value=="vrai"){
SpreadsheetApp.getActiveRange().setBackground("green");
}
else{
SpreadsheetApp.getActiveRange().setBackground("blue");
}
}
catch(e){}
}
function spyonme(){
var trigs = ScriptApp.getProjectTriggers();
var func = [];
for (var i in trigs){
func.push(trigs[i].getHandlerFunction());
}
if(func.indexOf("imwatchingus")>-1){
return("already enrolled");
}
else{
ScriptApp.newTrigger("imwatchingus").forSpreadsheet(SpreadsheetApp.getActive().getId()).onEdit().create();
return("enrolling you");
}
}
函數imwatchingus
是執行此任務的函數(根據其文本為單元格的背景上色為紅色/綠色/藍色)。
為了使此功能正常工作,我向其中添加了一個觸發器。 您可以通過菜單或啟動功能spyonme
。
在新電子表格上有一個問題 。 只有第一個單元格(A1)會被修改,但是如果您是匿名用戶,則可以使用此腳本。
在舊的電子表格上,顏色應用於更改后的單元格,但無法在匿名模式下使用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.