2015-11-19 42 views
0

,我打電話一個谷歌Apps版本下面的代碼腳本:似乎無法傳遞參數給谷歌的Apps腳本在Python

#Create an execution request object. 
    request = {"function": "getFoldersUnderRoot", "parameters": [3]} 
# Make the API request. 
    response = service.scripts().run(body=request, scriptId=SCRIPT_ID).execute() 

然而,在我的劇本,我似乎不能夠訪問參數值(在我的情況3)。

腳本的樣子:

function getFoldersUnderRoot(tc) { 
    var root = DriveApp.getRootFolder(); 
    var folders = root.getFolders(); 
    var folderSet = {}; 
    while (folders.hasNext()) { 
    var folder = folders.next(); 
    folderSet[folder.getId()] = folder.getName(); 
    } 
    var Id = XXXX; 
    var dat = SpreadsheetApp.openById(Id); 
    SpreadsheetApp.setActiveSpreadsheet(dat); 
    var sheet = SpreadsheetApp.getActiveSpreadsheet(); 
    sheet.getRange("A3").setValue(tc); 
    return folderSet; 
} 

和獲取:在A3單元格「未定義」 ......我真的不精通在JavaScript或Python ...我失去了一些東西明顯?

謝謝!

+0

您是否試圖直接從綁定到工作表的腳本運行Google腳本代碼?如果這給你一個錯誤,你就知道這是問題所在,否則它就是Python部分... –

回答

0

getRange()必須叫上板不是一個電子表格讓你的行聲明變量sheet需要改變這個

var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); 

,或者您可以使用

var sheet = SpreadsheetApp.getActiveSheet(); 
0

OK ....我的壞...

我沒有意識到你必須在每次更改後發佈谷歌腳本...保存它是不夠的(即外部程序仍然會看到舊版本的腳本)...

我希望我早點實現了這個!

+0

如果你添加到你的請求'devMode',你不需要:True – pyrytakala