当使用此行代码在谷歌Apps脚本
var user = folders[n].getOwner().getEmail()
我得到一个错误,说我没有被授权执行这样的操作(您的版本可能会有所不同,我是来自意大利的翻译)。
是什么赋予了? 我只是检索的信息,如文件夹的所有者。
当脚本处理我自己的文件夹,错误不会出现,当它遇到不是我的文件夹的错误出现。 该问题是,这行代码是只为点滴出血它们是我的不是文件夹,以避免发行方式要能正确上升错误,像setTrashed
。 该脚本将查找空文件夹删除它们,但我不能删除文件夹,我当然不是所有者。 是的,我到谷歌Apps for Business的,这有一定的差异?
没有任何警告specifc file.getOwner().getEmail()
但对于堂课 。
在有限的特权执行(例如响应于的OnOpen或onEdit),我们只返回活跃用户的身份,如果两个用户和脚本所有者是相同的域的一部分。 这是为了保护消费者的用户,谁可能不希望他们的电子邮件地址暴露的隐私。
我有这个没有问题,在消费者账户。
下面的函数是从摘录一个要点我张贴先前的问题 。 它包装调用.getEmail()
或getUserLoginId()
如果你喜欢)在try ... catch
块,所以它避免了用户跨越应用程序域错误。
function getFileInfo (file,fileType) {
var fileInfo = {
id: file.getId(),
name: file.getName(),
size: file.getSize(),
type: (fileType == "file") ? docTypeToText_(file.getFileType()) : "folder",
created: file.getDateCreated(),
description: file.getDescription(),
owner: file.getOwner()
}
try {
fileInfo.owner = file.getOwner().getEmail()//.getUserLoginId()
} catch(e)
{
// Possible permission problem
fileInfo.owner = "unknown";
}
return fileInfo;
}
更新:由于这是第一次公布,事情已经改变。 现在我的消费者帐户试图访问时遇到上述错误getOwner()
从另一个帐户共享的文件。 (2013年3月3日)