如何使用Google+ API OAuth 2.0获取好友列表

时间:2013-06-02 07:55:54

标签: php google-plus

我正在使用Google+登录以检索用户的基本个人资料信息(姓名,网址,位置,个人资料图片)。但我想检索用户朋友的用户ID,以便我可以给他/她更好的建议,用户已经知道我的网站。

$app_access_token = GetCH();
function GetCH(){
$ch = curl_init();
$pieces = explode(",", $_SESSION['access_token']); $piece = explode(":", $pieces[0]);
$token = str_replace('"',"",$piece[1]);
$url = "https://www.googleapis.com/oauth2/v1/userinfo?access_token=".$token;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETU`enter code here`RNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
if(substr($url,0,8)=='https://'){
    curl_setopt($ch,CURLOPT_HTTPAUTH,CURLAUTH_ANY);
    curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);
}
$sendCH = curl_exec($ch);
curl_close($ch);
return $sendCH;
};

if ($client->getAccessToken()){ 
  $me = $plus->people->get('me');
  $user_id = filter_var($me['id'], FILTER_SANITIZE_STRING, FILTER_FLAG_STRIP_HIGH);
  $url = filter_var($me['url'], FILTER_VALIDATE_URL);
  $img = filter_var($me['image']['url'], FILTER_VALIDATE_URL);
  $name = filter_var($me['displayName'], FILTER_SANITIZE_STRING, FILTER_FLAG_STRIP_HIGH);

  // The access token may have been updated lazily.
  $_SESSION['access_token'] = $client->getAccessToken();
} else {
  $authUrl = $client->createAuthUrl();

}

更多信息:https://developers.google.com/apis-explorer/#p/plus/v1/ 但我无法想象如何从他们的API

获取朋友列表作为数组

先谢谢

2 个答案:

答案 0 :(得分:3)

您需要使用:$plus->people->listPeople,您可以在PHP quick start应用中找到使用示例。

答案 1 :(得分:2)

首先,您应确保使用https://www.googleapis.com/auth/plus.login OAuth2范围,以确保它们允许您访问其部分或全部朋友列表。您希望使用people.list文档here中的{{1}} API访问点,并在this page上进一步详细说明。虽然他们没有提供PHP代码示例,但我认为您将能够使用$ plus-> people->列表进行调用并获取所需信息。