/** * QQ注册 */ function registQQ() { $openID = $this->trimmed('openid'); $qqAvatar = null; $aGetParam = array("access_token" => $this->token, "oauth_consumer_key" => QQ_AKEY, "format" => "json", "openid" => $openID); $url = "https://graph.qq.com/user/get_simple_userinfo"; $qqResult = tencent::get($url, $aGetParam); if ($qqResult !== FALSE) { $qqResult = json_decode($qqResult, true); if ($qqResult["ret"] == 0) { $qqAvatar = $qqResult['figureurl_2']; } } $sUrl = "https://graph.qq.com/user/get_info"; $sContent = tencent::get($sUrl, $aGetParam); if ($sContent !== FALSE) { $aResult = json_decode($sContent, true); if ($aResult["ret"] == 0) { $userid = $aResult["data"]["tweetinfo"][0]["id"]; $usernick = $aResult["data"]["name"]; $gender = $aResult["data"]["sex"]; $userdescription = $aResult["data"]["introduction"]; $location = $aResult["data"]["location"]; if (empty($userid)) { // 通过qq 信息的用户 $userid = $openID; $usernick = $qqResult['nickname']; $qqGender = $qqResult["data"]["gender"]; $gender = $qqGender == '男' ? 1 : 0; } else { // 通过qq 微博的用户 这里保存这个是因为要支持老用户数据 $userid = $aResult["data"]["tweetinfo"][0]["id"]; $usernick = $aResult["data"]["name"]; $gender = $aResult["data"]["sex"]; $userdescription = $aResult["data"]["introduction"]; $location = $aResult["data"]["location"]; } } else { $this->clientError($aResult["ret"] . ":" . $aResult["msg"]); return; } } else { $this->clientError(_('invalid_access_token')); exit; } $this->regist_common($userid, User::PLATFORM_TYPE_TENCENT_QQ, $usernick, $qqAvatar, $userdescription, $gender, $location); }
public function get_qq_user_info($token, $openID) { $aGetParam = array("access_token" => $token['access_token'], "oauth_consumer_key" => QQ_AKEY, "format" => "json", "openid" => $openID); $qqAvatar = null; $url = "https://graph.qq.com/user/get_simple_userinfo"; $qqContent = tencent::get($url, $aGetParam); if ($qqContent !== FALSE) { $aResult = json_decode($qqContent, true); if ($aResult["ret"] == 0) { $qqAvatar = $qqContent['figureurl_2']; } } $sUrl = "https://graph.qq.com/user/get_info"; $sContent = tencent::get($sUrl, $aGetParam); if ($sContent !== FALSE) { $aResult = json_decode($sContent, true); if ($aResult["ret"] == 0) { $userid = $aResult["data"]["tweetinfo"][0]["id"]; $usernick = $aResult["data"]["name"]; $gender = $aResult["data"]["sex"]; $userdescription = $aResult["data"]["introduction"]; $location = $aResult["data"]["location"]; if (empty($userid)) { // 通过qq 信息的用户 $userid = $openID; $usernick = $qqContent['nickname']; $qqGender = $qqContent["data"]["gender"]; $gender = $qqGender == '男' ? 1 : 2; } else { // 通过qq 微博的用户 这里保存这个是因为要支持老用户数据 $userid = $aResult["data"]["tweetinfo"][0]["id"]; $usernick = $aResult["data"]["name"]; $gender = $aResult["data"]["sex"]; $userdescription = $aResult["data"]["introduction"]; $location = $aResult["data"]["location"]; } } else { $this->clientError($aResult["ret"] . ":" . $aResult["msg"]); return; } } else { $this->clientError(_('invalid_access_token')); exit; } return array('via' => 'qq', 'uid' => $userid, 'screen_name' => $usernick, 'name' => $userid, 'location' => $location, 'description' => $userdescription, 'image' => $qqAvatar); }