我试图修改谷歌的PHP idtoken示例,不仅返回电子邮件地址(这是做的),而且还返回姓和名。
我已经修改了第36行:
$client->setScopes('email');
:
$client->setScopes( array( "https://www.googleapis.com/auth/userinfo.email", "https://www.googleapis.com/auth/userinfo.profile" ) );
检查$token_data
时,它不包含此信息。之前有一个关于这个的问题,但是它使用的contrib/Google_Oauth2Service.php
不再包括在官方的google-api-php-client
中,所以我宁愿不使用这种方法。
为了让代码返回电子邮件地址、名字和姓氏,我需要修改什么?
在Mahasish Shome的评论的帮助下,我能够得到这个工作。我还必须在Google Developer Console中启用"Google+ API"。
下面是我需要添加的代码:require_once 'Google/Service/Plus.php';
// further on down in the example code...
$token_data = $client->verifyIdToken()->getAttributes(); // in preexisting code
// my new code...
$plus = new Google_Service_Plus( $client );
$me = $plus->people->get('me');
// further on down in the example code...
var_dump($token_data); // in preexisting code
// my new code...
var_dump($me);