についての具体的な警告はありませんfile.getOwner().getEmail()
が、クラスセッションについてはあります。
制限付き特権の実行(onOpenまたはonEditへの応答など)では、ユーザーとスクリプト所有者の両方が同じドメインの一部である場合にのみ、アクティブなユーザーのIDを返します。これは、電子メールアドレスを公開したくない消費者ユーザーのプライバシーを保護するためです。
消費者アカウントではこれに問題はありません。
次の関数は、前の質問で投稿した要点からの抜粋です。呼び出しを.getEmail()
(または必要getUserLoginId()
に応じて)try ... catch
ブロックでラップするため、Appsドメインを通過するユーザーのエラーを回避できます。
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日)