我想查看当前登录并在我的WebApp中进行身份验证的用户的电子邮件和配置文件名称。
我的应用程序的后端是在PHP,我目前正在使用官方的谷歌API PHP客户端库,并获得访问用户的谷歌驱动器帐户。
为了获得名称,我一直试图通过userinfo端点。
$service = new Google_Service_Drive($client);
echo(serialize($googleOAuth->userinfo->get()->name) . ' ');
然而,这并没有给我用户的电子邮件地址,它目前返回空。
这些是我请求用户的授权范围:
$client->setScopes(Google_Service_Drive::DRIVE);
$client->setScopes(Google_Service_Oauth2::USERINFO_EMAIL);
$client->setScopes(Google_Service_Oauth2::USERINFO_PROFILE);
我怎么收到邮件?
编辑
我添加了作用域:
$client->addScope('email');
$client->addScope('profile');
然后它与Google_Service_Oauth2对象一起工作。
我不建议使用userinfo端点,因为返回的数据并不总是返回。你应该通过people API people.get
$service = new Google_Service_People($client);
$response = $service->people->get("people/me");