我正在尝试设置一个宏来更新数据库中的数据表并记录更新时间。当我尝试运行宏时出现错误。
据我从谷歌了解到,这是一个授权问题。我需要此代码自行授权用户并工作。如何将用户身份验证添加为此宏的一部分?
错误信息:
例外:Apps 脚本不支持数据源类型。(第 19 行,文件“宏”)
第 19 行:电子表格.getCurrentCell().getDataSourceTables()[0].refreshData();
function Timestamp() {
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Americas_DB'), true);
SpreadsheetApp.enableAllDataSourcesExecution();
spreadsheet.getCurrentCell().getDataSourceTables()[0].refreshData();
spreadsheet.getActiveSheet().getDataSourceTables().forEach(function(dataSourceTable) { dataSourceTable.waitForCompletion(300) });
spreadsheet.getCurrentCell().getDataSourceTables()[0].refreshData();
spreadsheet.getActiveSheet().getDataSourceTables().forEach(function(dataSourceTable) { dataSourceTable.waitForCompletion(300) });
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('EMEA_DB'), true);
spreadsheet.getCurrentCell().getDataSourceTables()[0].refreshData();
spreadsheet.getActiveSheet().getDataSourceTables().forEach(function(dataSourceTable) { dataSourceTable.waitForCompletion(300) });
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Timestamp'), true);
spreadsheet.getActiveSheet().insertRowsBefore(spreadsheet.getActiveRange().getRow(), 1);
spreadsheet.getActiveRange().offset(0, 0, 1, spreadsheet.getActiveRange().getNumColumns()).activate();
spreadsheet.getRange('A1').activate();
spreadsheet.getCurrentCell().setValue('Last updated');
spreadsheet.getRange('B1').activate();
spreadsheet.getCurrentCell().setFormula('=now()');
spreadsheet.getRange('B2').activate();