首页
站长论坛BBS
救助
投稿
discuz视频教程
discuz技术支持
版块
登录
快速注册

X2.5/X3版本 QQ互联出现20003错误的解决方案

 
ARCHY 2015-9-8 [云平台] 来自PC 复制链接
7846412
discuz使用视频教程
31idc

马上注册,一起探讨正确快速的建站方法

您需要 登录 才可以下载或查看,没有帐号?快速注册

x
最近QQ互联问题无外乎出现20003错误、21006错误,100010错误,connect_error_code_0错误等,出现该问题的主要原因是QQ登录OAuth1.0的服务变得极不稳定了。OAuth2.0的服务,安全性,便捷性都要比1.0强。这个也是早晚的事情。但是由于discuz官方提供的方案不是对所有的网站都有效,很多站长就碰到了各种问题。

Discuz x3.1/x3.2QQ互联问题 的整体解决思路和具体方案查看:http://bbs.zb7.com/thread-529717-1-1.html

由于Discuz X2.5/X3版本本身插件不支持OAuth2.0,所以处理方法会有不同,如果你是Discuz X2.5/X3版本论坛可参考以下方法处理x2.5和X3都亲测解决,修改前做好数据和文件备份

1、下载最新X3.2版本,解压后打开source\plugin\qqconnect,覆盖你站点对应source\plugin\qqconnect目录,然后台--应用--系统插件--QQ互联--更新1.18.2版本,升级后会出现Unknown column 'conuintoken' in 'field list'错误,参考Unknown column 'conuintoken' in 'field list' 解决办法

提供以下2个常用版本下载,其他版本可去官方下载
简体中文GBKhttp://download.comsenz.com/DiscuzX/3.2/Discuz_X3.2_SC_GBK.zip

简体 UTF8http://download.comsenz.com/DiscuzX/3.2/Discuz_X3.2_SC_UTF8.zip

2、QQ互联官方接口升级导致,需要服务器能正常访问 https 的外部文件,在确保服务器 SSL 功能正常的情况下(具体需要开启扩展 php_openssl),QQ 互联 从oAuth1 接口 oAuth2 模式下,具体参考http://bbs.zb7.com/thread-525951-1-1.html处理

3、把X3.2的源码里的plugin/manyou这个插件放到你的网站的对应plugin里的位置。
这个manyou是云服务的一些方法在里面。X3是在api/manyou里,所以我估计替换manyou/Server这个文件夹也是可行的。

4、Discuz X2.5/X3版本conuintoken 的部分字段缺失,补充上conuintoken这个字段做兼容即可。
member_connect_logging.php
25行:
$conuintoken = $this->connect_guest['conuintoken'];

33行:
//if ($conuin && $conopenid) {
if ($conopenid) {

member_connect_register.php

63行,增加
$conuintoken = $this->connect_guest['conuintoken'];

69左右
        //if (!$conuin || !$conuinsecret || !$conopenid) {
        //        showmessage('qqconnect:connect_get_request_token_failed');
//        }

改为

        if(!$_G['setting']['connect']['oauth2']) {
                if (!$conuin || !$conuinsecret || !$conopenid) {
                        showmessage('qqconnect:connect_get_request_token_failed');
                }
        } else {
                if (!$conuintoken || !$conopenid) {
                        showmessage('qqconnect:connect_get_request_token_failed');
                }
        }

102增加
'conuintoken' => $conuintoken,

class_cloud.php
43行
$file = DISCUZ_ROOT . ‘/api/manyou/' . implode('/', $items) . '.php';

改为
$file = DISCUZ_ROOT . '/source/plugin/manyou/' . implode('/', $items) . '.php';

关键一步
DX3.2中的function_filesock 替换 source/function中的 function_filesock.php

Discuz x3补丁包
游客,如果您要查看本帖隐藏内容请回复
,下载后直接覆盖source目录即可

最后,对小白用户,网友bugx提供一个检测脚本 qqtest.php.zip (9.45 KB, 下载次数: 139)



上一篇:Discuz x3.2/3.1 QQ互联问题 的整体解决思路和具体方案
下一篇:BAE3.0入门:移植Discuz X3.1论坛系统
ins 发表于 2015-9-8 21:22:15 来自PC
学习了 感谢 A先生分享啊
小江南 发表于 2015-9-8 21:27:27 来自PC
强烈支持,站帮网有你更精彩
DELL 发表于 2015-9-9 10:14:24 来自PC
这几天会员反应这个问题呢
fcalex 发表于 2015-9-9 16:52:00 来自PC
感谢分享 你最棒
a764075 发表于 2015-9-9 20:50:37 来自PC
很给力,希望分享更多给力的帖子啊。
a764075 发表于 2015-9-9 20:52:42 来自PC
回复有元宝拿吧
baiditan 发表于 2015-9-10 04:49:07 来自PC
11111111111111111
zhang6423987 发表于 2015-9-10 08:53:15 来自PC
{:3_46:}
auoaus 发表于 2015-9-10 19:43:12 来自PC
咳咳咳咳咳
huakhl 发表于 2015-9-10 20:08:06 来自PC
楼主,2.5的后台上传新的文件后,没有qq升级的地方,貌似qq互联是集成在了云平台
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

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