我正试图从谷歌电子表格中获取活动工作表,但我无法获得当前活动的工作表。
这是我在nodejs中的调用脚本:
function callAppsScript() {
var scriptId = 'myscriptid'
var script = google.script('v1');
var auth = getOAuthClient();
auth.setCredentials({
client_id: 'myclientid',
client_secret: 'mycs',
refresh_token: 'myrt'
});
// Make the API request. The request object is included here as 'resource'.
script.scripts.run({
auth: auth,
resource: {
function: 'publicFunction',
parameters: [spreadsheetid],
devMode: true
},
scriptId: scriptId
}, function(err, resp) {
if (err) {
console.log('The API returned an error: ' + err);
return;
}
var apiresp = resp.response.result;
console.log('current sheet id : ', apiresp);
}
});
}
以下是我的google apps脚本:
function publicFunction(params) {
var id = SpreadsheetApp.openById(params).getSheetId();
return id; // it is always returning first worksheet Id
}
答案 0 :(得分:0)
要获取有效的电子表格,您可以使用:
getActive()或getActiveSpreadsheet()
“返回当前活动的电子表格,如果没有,则返回null。 在电子表格的上下文中运行的函数可以获得 通过调用它来引用相应的Spreadsheet对象 功能“。