UC接口应用开发,官方示例修正(UTF8双向通信)
文章出处:http://blog.yation.com/webpro/uc_api_debug/
前几天发了一个UTF8版的UC接口应用开发整合包(点这里查阅),包中没有修改官方的代码,只是拿官方提供的示例做了一下编码转换。可是官方提供的开发包示例不能直接使用,感觉api.php文件是直接从DISUCZ中复制出来的,直接放上去都无法正常通信,我这里整理下整个修正过程,以及打包一个可以正常双向通信的示例出来。
首先做准备工作:1、下载UC最新版(下载页面自己选择相应编码);2、下载UC接口开发包(UC及应用为GBK编码请下载官方提供的包,UTF8版下载我转换好的包);3、下载Discuz(下载页面自己选择相应编码,或其他官方应用用于测试同步)。下载好个程序后开始安装,先安装UC,再安装Discuz(如何安装可以到官方论坛查阅相关资料,这里不赘述)。
准备工作 下载3个文件包
UC和Discuz安装好后到UC管理中查看应用,Discuz应该显示通信成功了,到这里我们可以添加示例应用了,(GBK版本用户解压developguide.zip文件后把client文件夹重命名为uc_client并简介到examples文件夹下)把examples文件夹放到网站根目录下。到UC用户中心后台使用自定义安装方式添加examples应用,如下图:
手动安装方式 添加测试应用
按照上图自定义安装“测试应用”并开始同步登录,提交后在测试应用详细页面底部可以看到生成了应用接口配置数据,把它复制出来。
开启同步登录,生成配置项
编辑examples/config.inc.php文件。
示例中代码存在错误导致应用依然无法通信
官方提供的示例中存在几处错误(疑代码是直接从Discuz中复制出来的没有修正)导致示例配置好后却依然无法通信。没关系,修按照下面的步骤修正基础即可:
1、(examples/api/uc.php)第27行左右DISCUZ_ROOT宏定义修改为:
乱码的修改下浏览器端编码 或在文件中输出UTF8 header
用Discuz账户登录成功查看源代码如下图:
登录成功,并通知DISCUZ同步登录
这时候访问下Discuz发现admin账户已经是登录状态了,同时在Discuz中退出和登录操作examples中都能同步。到这里双向同步已经实现,童鞋们可以根据示例代码修改自己的应用做整合了。有任何疑问都可以在这里留言,共同探讨。
下载:实现双向通信UTF8示例(.68M)