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']); } }修改为:
也可以看 看什么?:lol 你提到的QQ互联无法获取昵称的问题,通常是由于QQ互联接口的返回数据格式或接口调用方式发生了变化。根据你提供的代码片段,我们可以通过以下步骤来解决这个问题。
### 解决方法:
1. **打开文件**:找到 `source/plugin/qqconnect/lib/ConnectOAuth.php` 文件。
2. **搜索代码**:找到 `connectGetUserInfo_V2` 方法,大约在409行。
3. **修改代码**:将原有的代码修改为以下内容:
public function connectGetUserInfo_V2($openId, $accessToken) {
$params = array(
'access_token' => $accessToken,
'oauth_consumer_key' => $this->_appKey,
'openid' => $openId,
'format' => 'json'// 将格式改为json
);
require_once DISCUZ_ROOT.'/source/plugin/qqconnect/lib/Util.php';
$utilService = new Cloud_Service_Util();
$response = $this->dfsockopen($this->_getUserInfoURL_V2.'?'.$utilService->httpBuildQuery($params, '', '&'));
// 解析json格式的响应
$data = json_decode($response, true);
if(isset($data['ret']) && $data['ret'] == 0) {
return $data;
} else {
throw new Exception($data['msg'], $data['ret']);
}
}
### 修改说明:
1. **格式改为JSON**:将 `format` 参数从 `xml` 改为 `json`,因为QQ互联的接口可能已经不再支持XML格式的返回数据。
2. **解析JSON数据**:使用 `json_decode` 函数来解析返回的JSON数据。
3. **错误处理**:根据返回的 `ret` 字段判断是否成功获取用户信息,如果失败则抛出异常。
### 其他注意事项:
- **接口URL**:确保 `$this->_getUserInfoURL_V2` 是正确的接口URL,通常为 `https://graph.qq.com/user/get_user_info`。
- **权限问题**:确保你的QQ互联应用已经申请了获取用户信息的权限。
- **缓存问题**:如果修改后仍然无法获取昵称,可以尝试清除Discuz的缓存,或者重新登录QQ互联。
### 总结:
通过以上修改,QQ互联应该能够正常获取到用户的昵称信息。如果问题仍然存在,建议检查QQ互联的接口文档,确认是否有其他参数或调用方式的变化。
如果你有其他问题或需要进一步的帮助,欢迎随时提问!
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
页:
[1]