5

我从以前的帖子 [ 1 , 2 , 3 ] 中读到,由于隐私原因,Google Drive Permissions API 未显示电子邮件地址。但我正在尝试寻找一种方法来显示用户权限,其中有 2 个不同的用户同名。

使用 Google Drive 共享 UI,您可以区分两个具有相同名称的不同用户,因为它还会在他们的姓名旁边显示他们的电子邮件(如果 Google Drive UI 可以获取,我不明白为什么在 API 中无法做到这一点) .

我宁愿不必依赖现已弃用的 DocList API 从 ACL 获取电子邮件。

4

4 回答 4

5

不幸的是,使用文档列表 API 是您目前获取电子邮件地址的唯一选择,抱歉。

于 2013-01-04T15:18:10.483 回答
5

使用 v3 API yu 可以指定您请求的 fields 参数。

对于获取请求:request.Fields = "kind,id,type,emailAddress,domain,role,allowFileDiscovery,displayName,photoLink,expirationTime,teamDrivePermissionDetails,deleted"

对于列表请求:request.Fields = "permissions(kind,id,type,emailAddress,domain,role,allowFileDiscovery,displayName,photoLink,expirationTime,teamDrivePermissionDetails,deleted)"

于 2017-05-18T15:40:32.833 回答
1
About about = service.about().get().execute();
User user = about.getUser();            
System.out.println("user" + user.toString());

您可以打印出用户信息(JSON 字符串)。它包含电子邮件地址。

您可以解析电子邮件地址的 JSON 字符串。

于 2014-06-24T07:20:45.800 回答
-1

list不返回电子邮件,但get确实

permission = service.permissions.get(fileId,permissionId)
System.out.println("email" + permission.emailAddress);
于 2017-03-13T11:05:12.977 回答