友久网

手机号码,快捷登录

discuz论坛QQ互联 详细错误:connect_error_code_0 排查 解决方法

  [复制链接]
admin 发表于 2016-2-27 12:45:50 | 显示全部楼层 |阅读模式
要查看最佳方案 请登录后回帖
问题表现

升级后,点击QQ互联登录按钮,提示下面的错误信息。

抱歉,当前存在网络问题或服务器繁忙,详细错误:connect_error_code_0,错误代码:,请您稍候再试。

原因分析

Discuz! X3.1的QQ互联集成了OAuth1.0和OAuth2.0的接口,升级脚本判断如果服务器支持ssl,就会使用OAuth2.0接口。
出现此问题的站点属于切换到了OAuth2.0接口后导致的。

source\plugin\manyou\Service\Client\OAuth.php
  1.         public function dfsockopen($requestURL, $queryString = array(), $files = false) {
  2.                 return dfsockopen($requestURL, 0, $queryString, '', false, $this->_apiIp, 15, TRUE, !$files ? 'URLENCODE' : 'FORMDATA', true, 0, $files);
  3.         }
复制代码


注意这里请求url的使用,使用了$this->_apiIp参数,看下这个参数是在哪里定义的。

source\plugin\manyou\Service\Client\ConnectOAuth.php
  1.         public function __construct($connectAppId = '', $connectAppKey = '', $apiIp = '') {

  2.                 if(!$connectAppId || !$connectAppKey) {
  3.                         global $_G;
  4.                         $connectAppId = $_G['setting']['connectappid'];
  5.                         $connectAppKey = $_G['setting']['connectappkey'];
  6.                 }
  7.                 $this->setAppkey($connectAppId, $connectAppKey);
  8.                 if(!$this->_appKey || !$this->_appSecret) {
  9.                         throw new Exception('connectAppId/connectAppKey Invalid', __LINE__);
  10.                 }

  11.                 if(!$apiIp) {
  12.                         global $_G;
  13.                         $apiIp = $_G['setting']['connect_api_ip'] ? $_G['setting']['connect_api_ip'] : '';
  14.                 }

  15.                 if($apiIp) {
  16.                         $this->setApiIp($apiIp);
  17.                 }
  18.         }
复制代码


这里可以看到使用的是后台设置的互联接口IP。

Discuz! 后台诊断工具里的互联接口IP是设置的OAuth1.0接口的域名,即http://openapi.qzone.qq.com
而OAuth2.0接口的域名变更为了https://graph.qq.com,但是接口里使用的IP仍为OAuth1.0的,所以就导致无法请求,继而导致上述报错。

解决方法

上诊断工具里,去掉设置的互联接口IP即可。
上海友久软件科技有限公司-领先的网站定制服务平台-www.u179.com
 楼主| admin 发表于 2016-2-27 12:47:50 | 显示全部楼层
更多方案:
替换qqconnect【去官方下载对应版本的替换】

修改config/config_global.php文件查找
$_config['admincp']['runquery']
把后面0改成1


后台----->站长-----> 数据库----->升级

运行下面一行命令

DELETE FROM `pre_common_plugin` WHERE `identifier` = 'qqconnect';


后台----->应用-----> 插件
安装QQ互联

诊断工具同步信息后就可以了!
上海友久软件科技有限公司-领先的网站定制服务平台-www.u179.com
 楼主| admin 发表于 2016-2-27 12:46:10 | 显示全部楼层
方案二:
抱歉,当前存在网络问题或服务器繁忙,详细错误:connect_error_code_0,错误代码:,请您稍候再试。谢谢。
解决办法:
打开:后台——工具——云平台诊断工具,看其里是否有手动指定的ip,全部取消删除后保存就OK了。
上海友久软件科技有限公司-领先的网站定制服务平台-www.u179.com
 楼主| admin 发表于 2016-2-27 12:46:27 | 显示全部楼层
方案三:
1、去官网下载最新程序:把source\plugin\qqconnect  把这个文件删除 重新换成最新的。
2、去论坛后台重新开通QQ互联。
3、去应用-插件-QQ互联里-安装-全部覆盖
4、更新数据库
5、正常了。
上海友久软件科技有限公司-领先的网站定制服务平台-www.u179.com
xiongdi 发表于 2016-2-27 13:13:12 | 显示全部楼层
来学学习,希望给力
上海友久软件科技有限公司-领先的网站定制服务平台-友久网
ぴ尛掱冰涼い 发表于 2016-12-24 16:47:39 | 显示全部楼层
写的真的很不错
上海友久软件科技有限公司-领先的网站定制服务平台-友久网
X1n、痛 发表于 2016-12-25 17:38:36 | 显示全部楼层
为圣贤庄而来,原句抽奖。
上海友久软件科技有限公司-领先的网站定制服务平台-友久网
々情人劫 发表于 2017-1-1 08:13:34 | 显示全部楼层
帮帮顶顶!!
上海友久软件科技有限公司-领先的网站定制服务平台-友久网
Zombies 发表于 2017-1-6 02:18:09 | 显示全部楼层
随便看看
上海友久软件科技有限公司-领先的网站定制服务平台-友久网
赫尔墨斯! 发表于 2017-1-6 22:44:32 | 显示全部楼层
我顶你了,嘿嘿
上海友久软件科技有限公司-领先的网站定制服务平台-友久网
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表