2014-02-12 106 views
1

我做了一個簡單的Google Spreadsheet,其中包含一些腳本,根據狀態更新顏色,爲行和其他一些控件設置更新和創建日期。允許其他用戶執行谷歌電子表格腳本

當我用我自己的用戶編輯它時,它全部正常工作,但現在設置電子表格設置爲公共(通過鏈接訪問),訪問電子表格的任何人都會收到錯誤you do not have permissions to do this action

我正在使用onEdit()觸發器,顯然來賓用戶沒有執行它們的權限。我需要配置什麼才能使其工作?

感謝

回答

0

不是一個真正的解決方案,但索姆意見:
我做了一個小腳本和測試它的old廣告new電子數據表類型:

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

在新電子表格中有一個issue。只有第一個單元格(A1)會被修改,但如果您是匿名的,則可以使用此腳本。
在舊的電子表格上,顏色被應用到已更改的單元格上,但它不以匿名模式工作。

相關問題