获取Google Drive SDK中共享用户的电子邮件地址

时间:2013-02-24 19:46:31

标签: google-drive-api

由于Google云端硬盘缺乏通知功能,通知人们将新文件添加到共享文件夹中,因此我不得不写一个。我的第一个版本系统是使用Google App Script编写的。我不得不杀死该版本,因为我的客户端的负载超出了app脚本的配额限制,系统在早上9:30关闭。

所以我在GAE / GWT中改写了应用程序并且相当远,而不是我认为我遇到了另一个问题。我找不到一种方法来获取文件夹/文件上的共享用户列表。系统的工作方式是,他创建了一个文件。该文件放在一个文件夹中,然后启动此应用程序并点击按钮。然后,此应用程序扫描文件夹,如果找到新文件,则会进入文件权限,获取文件共享的电子邮件地址列表,并向他们发送一封电子邮件,说明有新文件。但是,Drive SDK会返回与共享文件的人员相关的所有内容,但电子邮件地址除外。是否有一些我在文件中找不到的那些可以给我这些电子邮件地址的开关?

我真的很想再次重写这件事。

2 个答案:

答案 0 :(得分:0)

对此进行了一些讨论,隐藏了电子邮件地址以保护隐私。您可以获取有权访问该文件的用户的ID,但不能获取该电子邮件地址。

email ids related to shared google drive file Google drive api change ownership of files? value attribute for Permissions Resource not populated in responses

答案 1 :(得分:0)

如果您有权访问用户的permissionId和fileId,您可以使用Permissions API's get()方法(JavaScript版本)获取该文件的电子邮件地址:

var fileId = 'Some Drive fileId';

gapi.client.drive.about.get().execute(function (data) {
    gapi.client.drive.permissions.get({
        'fileId': fileId,
        'permissionId': data.permissionId
    }).execute(function (perms) {
        console.log(perms.emailAddress);
    });
});

另见:

Permissions Resource

About Resource