QQ互联无法获取昵称的解决办法
QQ互联目前获取到的都是qquser,无法获取到正常的QQ昵称解决方法:
1.打开source/plugin/qqconnect/lib/ConnectOAuth.php
2.搜索代码,大约在409行
public function connectGetUserInfo_V2($openId, $accessToken) {
$params = array(
'access_token' => $accessToken,
'oauth_consumer_key' => $this->_appKey,
'openid' => $openId,
'format' => 'xml'
);
require_once DISCUZ_ROOT.'/source/plugin/qqconnect/lib/Util.php';
$utilService = new Cloud_Service_Util();
$response = $this->dfsockopen($this->_getUserInfoURL_V2.'?'.$utilService->httpBuildQuery($params, '', '&'));
$data = $this->_xmlParse($response);
if(isset($data['ret']) && $data['ret'] == 0) {
return $data;
} else {
throw new Exception($data['msg'], $data['ret']);
}
}修改为:
public function connectGetUserInfo_V2($openId, $accessToken) {
$params = array(
'access_token' => $accessToken,
'oauth_consumer_key' => $this->_appKey,
'openid' => $openId,
);
require_once DISCUZ_ROOT.'/source/plugin/qqconnect/lib/Util.php';
$utilService = new Cloud_Service_Util();
$response = $this->dfsockopen($this->_getUserInfoURL_V2.'?'.$utilService->httpBuildQuery($params, '', '&'));
$data = json_decode($response,true);
$response = $this->_iconv($response, 'UTF-8', CHARSET);
if(isset($data['ret']) && $data['ret'] == 0) {
return $data;
} else {
throw new Exception($data['msg'], $data['ret']);
}
}https://www.dismall.com/thread-14612-1-1.html
页:
[1]