【发布时间】:2013-06-27 02:05:03
【问题描述】:
我在尝试在 Google Apps 脚本中查询资源文件的 ScriptDb 时遇到问题。我创建了一个脚本文件(file1),将其作为资源添加到另一个脚本文件(file2)。我从 file2 调用 file1 以返回其 ScriptDb 的句柄。这工作正常。然后我尝试查询 ScriptDb,但返回了权限错误。
这两个文件都属于同一用户并在同一 google 环境中
见下面的代码:
文件 1:
function getMyDb() {
return ScriptDb.getMyDb;
}
文件 2(参考文件 1):
function getDataFromFile1() {
var db = file1.getMyDb(); // This works
var result = db.query({..............}); // This results in a permissions error!
}
我不明白为什么我可以访问 file1 并取回 ScriptDb 的句柄,但由于权限问题而无法查询它。
我曾尝试强制 file1 要求重新授权,但尚未成功。我尝试添加一个新函数并运行它,因此我们将不胜感激地收到任何建议。
提前致谢 克里斯
【问题讨论】:
-
这应该可以正常工作。我无法重现此问题。 file1 上的授权与此无关。您应该检查 file2 上的授权。你是如何运行它的?从脚本编辑器?也许您的查询有问题,您是否尝试过更简单的查询?你能和我们分享它的代码吗?
-
您好,Henrique,感谢您的回复。我同意这应该可以正常工作,这就是为什么我有点难过。我正在尝试使用调试器通过另一种调用 getDataFromFile1() 的方法(在 file2 中)从脚本编辑器运行该函数,我尝试了一个更简单的查询,但无济于事。这是我的代码文件中失败的实际查询: var result = db.query({ silo: "config", area: "settings", property : "custAdminName"});这是 ScriptDb 记录:{ "area": "settings", "value": "Alfred", "property": "custAdminName", "silo": "config" } 谢谢 Chris
-
抱歉,没有意识到所有的格式都会消失
-
var result = db.query({ silo: "config", area: "settings", property : "custAdminName"});
-
{ "area": "settings", "value": "Alfred", "property": "custAdminName", "silo": "config" }
标签: permissions google-apps-script