Dropbox Java API-文件所有者电子邮件
Dropbox Java API-文件所有者电子邮件,java,api,email,dropbox,owner,Java,Api,Email,Dropbox,Owner,Dropbox的JavaAPI通过如下方法返回文件所有者名称列表 public List<String> getOwners(DbxClientV2 client, String fileId) { SharedFileMetadata metadata = client.sharing().getFileMetadata(); return metadata.getOwnerDisplayNames(); } public List getowner(DbxClientV
Dropbox
的Java
API通过如下方法返回文件所有者名称列表
public List<String> getOwners(DbxClientV2 client, String fileId) {
SharedFileMetadata metadata = client.sharing().getFileMetadata();
return metadata.getOwnerDisplayNames();
}
public List getowner(DbxClientV2客户端,字符串fileId){
SharedFileMetadata元数据=client.sharing().getFileMetadata();
返回metadata.getOwnerDisplayNames();
}
是否也有办法获取电子邮件地址?根据Dropbox v2文档,它有端点-
/get\u file\u元数据
示例curl
请求:
curl -X POST https://api.dropboxapi.com/2/sharing/get_file_metadata \
--header "Authorization: Bearer <access token> " \
--header "Content-Type: application/json" \
--data "{\"file\": \"id:3kmLmQFnf1AAAAAAAAAAAw\",\"actions\": []}"
返回:
{
"id": "id:3kmLmQFnf1AAAAAAAAAAAw",
"name": "file.txt",
"policy": {
"acl_update_policy": {
".tag": "owner"
},
"shared_link_policy": {
".tag": "anyone"
},
"member_policy": {
".tag": "anyone"
},
"resolved_member_policy": {
".tag": "team"
}
},
"preview_url": "https://www.dropbox.com/scl/fi/fir9vjelf",
"access_type": {
".tag": "viewer"
},
"owner_display_names": [
"Jane Doe"
],
"owner_team": {
"id": "dbtid:AAFdgehTzw7WlXhZJsbGCLePe8RvQGYDr-I",
"name": "Acme, Inc."
},
"path_display": "/dir/file.txt",
"path_lower": "/dir/file.txt",
"permissions": [],
"time_invited": "2016-01-20T00:00:00Z"
}
owner\u display\u name
列表(字符串)?
拥有文件的用户的显示名称。如果该文件是团队文件夹的一部分,则还包括团队管理员的显示名称。如果无法获取所有者显示名称,则不存在。此字段是可选的
因此,根据文件,没有关于用户电子邮件的信息。要使用Dropbox Java SDK获取共享文件成员的信息,您应该使用listFileMembers
*方法。根据您的用例和所需的批处理/分页方法,您可以选择几个版本:
获取所有者的一种方法是通过协作元数据:
public List<String> getOwners(DbxClientV2 client, String fileId) {
SharedFileMetadata metadata = client.sharing().getFileMetadata();
List<UserFileMembershipInfo> users = metadata.getUsers();
List<String> owners = new ArrayList<>();
for (UserFileMembershipInfo user : users)
if (user.getAccessType() == AccessLevel.OWNER) {
owners.add(info.getUser().getDisplayName());
}
return owners;
}
public List getowner(DbxClientV2客户端,字符串fileId){
SharedFileMetadata元数据=client.sharing().getFileMetadata();
List users=metadata.getUsers();
列表所有者=新的ArrayList();
for(UserFileMembershipInfo用户:用户)
if(user.getAccessType()==AccessLevel.OWNER){
添加(info.getUser().getDisplayName());
}
返回所有者;
}
是的,这也是我的印象。我希望这些信息能够以某种方式提供,就像在其他云存储系统中一样,比如GoogleDrive和Box。不管怎样,谢谢你和+1。如果共享了文件,并且添加了成员(包括电子邮件地址),这就是工作
public List<String> getOwners(DbxClientV2 client, String fileId) {
SharedFileMetadata metadata = client.sharing().getFileMetadata();
List<UserFileMembershipInfo> users = metadata.getUsers();
List<String> owners = new ArrayList<>();
for (UserFileMembershipInfo user : users)
if (user.getAccessType() == AccessLevel.OWNER) {
owners.add(info.getUser().getDisplayName());
}
return owners;
}