Google 驱动器 API 获取经过身份验证的电子邮件

Google Drive API get authenticated email

我是 运行 php google 驱动器 api 我可以很好地验证用户身份,但我想存储用户的 permissionId 和他们的电子邮件地址进入我的数据库。使用

可以轻松访问 permissionid
$service = new Google_Service_Drive($client);
...
$permissionID = $service->about->get()->getpermissionId();

但没有类似 getEmailAddress() google 驱动器是否有一个 return 作为电子邮件地址,或者我是否需要扩展范围并在其他地方访问它?

目前我的范围是https://www.googleapis.com/auth/drive

编辑

刚刚通过

发出 get 请求设法做到了这一点
https://www.googleapis.com/oauth2/v1/userinfo?access_token=

对于以前使用过这个api的人来说,存储PermissionId 还是存储由get 请求得到的ID return更好?不知道两者有什么区别

$service->about->get()->getUser()->getemailAddress();

这将为您提供通过您的应用进行身份验证的用户的电子邮件地址。

如上KRR所述,更多功能请访问Google's Drive Api Reference Page 。通常如果你想得到一个 属性 值,它的形式是 get($propertyname)()

CrudeCoder 给出的答案对于 Drive API v2 是正确的。对于 Drive API V3 使用:

$service->about->get(array('fields' => 'user'))->getUser()->getemailAddress();

在 V3 中,您需要指定字段参数。