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

问题描述 投票:0回答:2

由于谷歌驱动器中简单令人难以置信的通知功能,通知人们新文件被添加到他们的共享文件夹,我被迫写一个。我的第一个版本系统是使用Google App Script编写的。我不得不杀死该版本,因为我的客户端的负载超出了app脚本的配额限制,系统在早上9:30关闭。

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

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

google-drive-sdk
2个回答
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


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

© www.soinside.com 2019 - 2024. All rights reserved.