我在我的网络应用中使用google plus API。我可以从google plus中取出所有人
我的代码是
$this->client = new Google_Client();
$this->client->setApplicationName($CI->config->item('application_name', 'googleplus'));
$this->client->setClientId($CI->config->item('client_id', 'googleplus'));
$this->client->setClientSecret($CI->config->item('client_secret', 'googleplus'));
$this->client->setRedirectUri($CI->config->item('redirect_uri', 'googleplus'));
$this->client->setDeveloperKey($CI->config->item('api_key', 'googleplus'));
$this->plus = new Google_PlusService($this->client);
$this->auth2 = new Google_Oauth2Service($this->client);
$peoples = $this->plus->people->listPeople('me','visible');
在这里,我得到了我圈子中所有人的名单。但我没有得到人们的电子邮件地址和生日。我怎么能得到那些?
答案 0 :(得分:3)
获得Google+ ID列表后,您需要拨打一个people.get来获取这些用户的[公开]个人资料数据。在PHP中,此调用看起来像$me = $plus->people->get('me');
。对于授权用户,可以使用“me”关键字。否则,您可以使用Google+ ID拨打电话。
拨打电话后,您可以提取与您相关的属性(完整列表:https://developers.google.com/+/api/latest/people)。
但是,要获取用户的Google电子邮件地址,除https://www.googleapis.com/auth/userinfo.email
范围外,还需要包含plus.login
范围。这意味着您只能获得授权用户的电子邮件地址。
答案 1 :(得分:0)
请阅读Google+ OAuth 2.0 scopes上的文档,其中说明您需要使用范围https://www.googleapis.com/auth/userinfo.email
,然后将您的访问令牌发送到tokenInfo端点以获取用户的电子邮件地址作为验证信息的一部分