我有一个链接到独立脚本的电子表格,该脚本从任务列表中导入任务。当我是用户时可以正常使用,但不能在共享用户帐户中使用。
独立脚本中的代码为
function getTasks() {
var tasklistID="mytasklistid";
var tasks=Tasks.Tasks.list(tasklistID);
return tasks
}
绑定脚本中的代码为
function getTask(){
var tasks = TaskManagerScript.getTasks()
Browser.msgBox(tasks)
}
在我的帐户中运行代码时,我从任务列表中获得了具有预期ID的任务。但是,当我从另一个用户帐户运行它时,我会得到另一个用户的任务列表。
当其他用户运行该代码时,如何使代码以指定的ID从列表中返回任务。
答案 0 :(得分:1)
如果我的理解正确,那么这个答案如何?
OnEdit事件触发器作为电子表格的所有者运行。因此,当用户编辑电子表格时,脚本将使用您的任务列表ID运行。但是从您的问题来看,它是when I run it from a different user account I get the the tasklist of the other user.
。我可以确认在我的环境中,当用户编辑共享的电子表格时,脚本以所有者(me)身份运行,并且可以使用我的任务列表ID。不幸的是,我无法复制您的情况。因此,为了确认这种情况,您可以测试以下流程吗?
TaskManagerScript
的库。将脚本放入脚本编辑器。脚本如下。
function getTask(e) {
var tasks = TaskManagerScript.getTasks();
e.source.appendRow([JSON.stringify(tasks)]);
}
将OnEdit触发器安装到getTasks()
。
getTasks()
并授权范围。
通过上述流程,当用户编辑工作表时,将返回使用任务列表ID检索到的结果。
答案 1 :(得分:0)
以始终作为您运行的webapp的形式运行脚本。据我所知,任务不允许共享或让您操纵其他人的任务。