使用setColumnFilterCriteria时出现Spreadsheets服务访问异常,求排查
问题排查与解决办法
OAuth范围拼写错误
你当前的OAuth范围写的是https://www.googleapis.com/autht/spreadsheets,存在拼写错误:autht应改为auth,正确范围为https://www.googleapis.com/auth/spreadsheets。范围错误会导致脚本没有足够权限修改表格筛选器,这是核心问题之一。未处理工作表无筛选器的情况
代码中直接调用ss.getFilter(),如果当前工作表尚未创建筛选器,filter会返回null,此时执行filter.setColumnFilterCriteria()必然触发异常。需要先判断筛选器是否存在,不存在则先创建:function FilterTest() { let sheet = SpreadsheetApp.getActiveSheet(); let filter = sheet.getFilter(); // 如果没有筛选器,先创建覆盖整个数据区域的筛选器 if (!filter) { let range = sheet.getDataRange(); filter = range.createFilter(); } const criteria = SpreadsheetApp.newFilterCriteria() .setHiddenValues(["Done", "Skip"]) .build(); filter.setColumnFilterCriteria(1, criteria); }重新授权脚本
修正OAuth范围后,需重新授权脚本:点击脚本编辑器右上角的「运行」按钮,按照提示完成授权流程,确保新的权限范围生效。
内容的提问来源于stack exchange,提问作者Rob Benson
相关产品推荐
相关产品推荐

