本文介绍了如何使用Google API PHP SDK获取用户信息的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试为拥有Google帐户的人在我的网站上添加登录选项。我已经能够实现此Facebook,但在使用Google获取用户帐户信息时遇到问题。
我使用的是Google PHP SDK,位于此处:github/google/google-api-php-client
$client = new Google_Client(); $client->setClientId($this->ci->config->item('client_id', 'google')); $client->setClientSecret($this->ci->config->item('client_secret', 'google')); $client->setRedirectUri($this->ci->config->item('callback_uri', 'google')); $client->addScope('www.googleapis/auth/userinfo.email www.googleapis/auth/plus.login'); $this->client->createAuthUrl();但现在如何访问用户的电子邮件地址和其他基本信息?
我在Google PHP SDK中看到getAccountInfo()在类Google_Service_IdentityToolkit中有一个名为getAccountInfo()的方法。但是,它需要的参数是postBody,但我不确定如何获取/构建该参数。
推荐答案这将返回一个包含您可能要查找的信息的GOOGLE_SERVICE_OAUT2_Userinfoplus对象:
$oauth2 = new Google_Service_Oauth2($client); $userInfo = $oauth2->userinfo->get(); print_r($userInfo);其中$client是Google_Client的实例
输出:
Google_Service_Oauth2_Userinfoplus Object ( [internal_gapi_mappings:protected] => Array ( [familyName] => family_name [givenName] => given_name [verifiedEmail] => verified_email ) [email] => [familyName] => [gender] => [givenName] => [hd] => [id] => 123456 [link] => plus.google/123456 [locale] => en-GB [name] => someguy [picture] => lh3.googleusercontent/-q1Smh9d8d0g/AAAAAAAAAAM/AAAAAAAAAAA/3YaY0XeTIPc/photo.jpg [verifiedEmail] => [modelData:protected] => Array ( ) [processed:protected] => Array ( ) )还要注意,您还需要请求www.googleapis/auth/userinfo.profile作用域。
更多推荐
如何使用Google API PHP SDK获取用户信息
发布评论