所以,我已经尝试了一个星期,仍然错误。可以正确获取电子表格 ID。
Currently I have this code:
function getSS(e,getSS) {
//If not yet authorized - get current spreadsheet
if (e && e.authMode != ScriptApp.AuthMode.FULL) {
var getSS = SpreadsheetApp.getActiveSpreadsheet();
}
//Else if authorized set/get property to open spreadsheet by ID for time-driven triggers
else {
if(!PropertiesService.getDocumentProperties().getProperty('SOURCE_DATA_ID')){
PropertiesService.getDocumentProperties().setProperty('SOURCE_DATA_ID', e.source.getId());
}
var getSSid = PropertiesService.getDocumentProperties().getProperty('SOURCE_DATA_ID');
var getSS = SpreadsheetApp.openById(getSSid);
}
return getSS;
}
var SS = getSS();
它应该在插件尚未授权时获取活动电子表格 ID,并在授权时从属性中获取电子表格 ID。但是,在安装测试时,我总是收到一个错误,我没有权限使用openById()
或getDocumentProperties()
如何在任何 authMode 中将 SS 保留为全局变量而不使其为空?