没有关于 的任何特定警告file.getOwner().getEmail()
,但有Class Session。
在有限权限的执行中(例如响应 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 日)