我正在尝试为Google表格编写自定义函数,但我遇到了左右许可错误。为了开始,我将其输入左上角的单元格:"=testFunction()"
。在该函数中,我尝试突出显示并根据用户选择一行,并遇到以下问题:
Session.getActiveUser()
方法,因此根据访问该文档的用户,我无法执行任何操作。此外,getUrl
函数不会返回实际的URL,因此在末尾添加类似“#Jeff”的内容将不起作用。注意:我最终解决了这个问题,因为令我惊讶的是,Spreadsheet.getViewers
功能正常工作。Spreadsheet.setActiveSelection()
功能,因此无法选择一行。查看如何做某事,测试它以及观看四次中有三次出现的权限错误令人沮丧。
考虑到我是本文档的所有者,有没有办法改变我的许可?
如果没有,是否有任何关于我可以运行哪些功能的文档?
答案 0 :(得分:1)
不允许自定义函数访问特定于用户的服务
答案 1 :(得分:0)
我注意到,单元格中的自定义函数无法执行auth-required方法,但如果让脚本被触发,则可以运行脚本。
示例:我编写了与我的工作表关联的脚本函数。
function getTheUser() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
sheet.getRange('a1').setValue(Session.getActiveUser());
}
如果我把它放在一个单元格中
=getTheUser()
单元格标有“错误:您无权调用getActiveUser(第9行,文件”代码“)”
但是如果我转到项目的脚本并为该函数创建一个触发器,那么只要满足触发条件,该函数就会运行正常。
我的计划是使用触发器来运行auth-required函数。