ファイルの所有権をスーパー管理者に譲渡しようとしています。コードの重要な部分を以下に示します。私が所有するドキュメントの所有権を譲渡する場合、同じコードが機能します。ただし、この場合、元の所有者は同じドメイン内の別のユーザーです。[編集]管理パネルに「1 人のユーザーから別のユーザーへのファイルの所有権の譲渡」があることは知っていますが、これは、複数の所有者から複数のファイル/フォルダーを転送する必要がある場合に必要です。プログラムで転送されます。[/編集]
したがって、単純なシナリオは次のとおりです。
- user@domain.comはファイルを所有しています
- 所有権をadmin@domain.com (スーパー管理者)に譲渡する必要があります。コードは Java サーブレットの AppEngine で実行されています。また、スーパー管理者は OAuth で認証されます。
ただし、常に(500 OK)例外がスローされますupdate.execute();
(最後に表示されます)。この操作はスーパー管理者でもできないのでしょうか?
ヒントをありがとう!
try {
Drive service = getDriveService();
Permission newPerm = new Permission();
newPerm.setValue("admin@domain.com");
newPerm.setType("user");
newPerm.setRole("writer");
newPerm = service.permissions().insert(fileId, newPerm).execute();
newPerm.setRole("owner");
Update update = service.permissions().update(fileId, newPerm.getId(), newPerm);
update.setTransferOwnership(true);
update.execute();
} catch (IOException e) {
e.printStackTrace();
log.severe(e.getMessage());
}
スローされる例外は次のようになります。
SEVERE: 500 OK
{
"code" : 500,
"errors" : [ {
"domain" : "global",
"message" : "Internal Error",
"reason" : "internalError"
} ],
"message" : "Internal Error"
}