试图通过获取文件的权限、循环访问文件并检索具有“所有者”角色的权限的用户信息(特别是电子邮件地址)来查找文件的所有者。
PermissionList filePermissions = service.permissions().list(fileID).execute();
for (Permission permission : filePermissions) {
if (permission.getRole().toLowerCase().equals("owner")) {
String fileOwner = permission.getEmailAddress();
}
}
“permission.getEmailAddress()”一直返回null,所以我决定在每个权限上调用“toPrettyString()”,这表明权限对象只包含“id”、“种类”、“角色”和“类型” ”,但绝不是“电子邮件地址”。
Drive API的Google 文档将“emailAddress”列为权限对象的属性之一,所以我对为什么无法检索它感到困惑。
我认为这可能与用于获取驱动器服务的用户凭据有关,但即使使用文件所有者的凭据仍然会产生相同的结果。