微信公众平台怎么跟discuz论坛打通
微信公众平台消息接口为开发者提供了一种新的消息处理方式。可以通过申请消息接口打通。
申请消息接口的步骤:
1、点击申请,如实填写负责人姓名 、 手机号和邮箱,填写网址url和token,其中token可由开发者可以任意填写,用作生成签名。
2、 网址接入
公众平台用户提交信息后,我们将以GET请求方式请求到填写的Url上,并且带上四个参数:
signature — 微信加密签名
timestamp — 时间戳
nonce — 随机数
echostr — 随机字符串
开发者通过检验signature对网址接入合法性进行校验。若此次GET请求原样返回echostr参数内容,则接入生效,否则接入失败。验证signature将结合开发者填写的token参数、timestamp参数和nonce参数等,加密流程:
将token、timestamp、nonce三个参数进行字典序排序
将三个参数字符串拼接成一个字符串进行SHA1加密
开发者获得加密后的字符串可与signature对比,标识该请求来源于微信。
3 、 消息推送
当普通微信用户向公众账号发消息时,公众平台将POST该消息到填写的Url上(现支持文本消息以及地理位置消息)。结构如下:
文本消息xml格式
<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[fromUser]]></FromUserName>
<CreateTime>1348831860</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[this is a test]]></Content>
</xml>
ToUserName 消息接收方微信号,一般为公众平台账号微信号
FromUserName 消息发送方微信号
CreateTime 消息创建时间
MsgType 文本消息为text
Content 消息内容 地理位置消息xml格式
<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[fromUser]]></FromUserName>
<CreateTime>1351776360</CreateTime>
<MsgType><![CDATA[location]]></MsgType>
<Location_X>23134521</Location_X>
<Location_Y>113358803</Location_Y>
<Scale>20</Scale>
<Label><![CDATA[位置信息]]></Label>
</xml>
ToUserName 消息接收方微信号,一般为公众平台账号微信号
FromUserName 消息发送方微信号
CreateTime 消息创建时间
MsgType 消息类型,地理位置为location
Location_X 地理位置纬度
Location_Y 地理位置经度
Scale 地图缩放大小
Label 地理位置信息
消息结构
<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[fromUser]]></FromUserName>
<CreateTime>1348831860</CreateTime>
<MsgType><![CDATA[image]]></MsgType>
<PicUrl><![CDATA[this is a url]></PicUrl>
</xml>
ToUserName 消息接收方微信号,一般为公众平台账号微信号
FromUserName 消息发送方微信号
CreateTime 消息创建时间
MsgType 消息类型image
PicUrl 链接,开发者可以用HTTP GET获取
4、 消息回复
对于每一个POST请求,开发者在响应包中返回特定xml结构,对该消息进行相应操作(现支持回复文本消息 、 回复图文消息和星标操作)。xml结构如下:
回复文本消息格式
<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[fromUser]]></FromUserName>
<CreateTime>12345678</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[content]]></Content>
<FuncFlag>0</FuncFlag>
</xml>
FromUserName 消息发送方
ToUserName 消息接收方
CreateTime 消息创建时间
MsgType 消息类型,文本消息必须填写text
Content 消息内容,大小限制在2048字节,字段为空为不合法请求 回复图文消息格式
<xml><ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[fromUser]]></FromUserName>
<CreateTime>12345678</CreateTime>
<MsgType><![CDATA[news]]></MsgType>
<Content><![CDATA[]]></Content>
<ArticleCount>2</ArticleCount>
<Articles>
<item>
<Title><![CDATA[title1]]></Title>
<Description><![CDATA[description1]]></Description>
<PicUrl><![CDATA[picurl]]></PicUrl>
<Url><![CDATAhttp://mpweixinqqcom/cgi-bin/ star=1]
解决方法:
一、在DZ后台管理中有一个“云平台”菜单,我们在完成DZ系统安装的时候会提示是否开启QQ互联功能。当我们开启了QQ互联后,论坛页面登陆位置会出现“用QQ账号登陆”的按钮(如下图)
二、我们在对discuz后台进行设置的时候,需要多进行一个步骤,即设置QQ注册用户的用户组。按照DZ默认的QQ游客组,是没有发帖和回复权限的。其实很简单,将QQ登陆的用户组设置为普通用户即可!具体设置方法可见下图:
知识延伸:
Discuz!:是全球成熟度最高、覆盖率最大的论坛软件系统之一。
QQ互联:QQ互联是腾讯旗下的开放平台,通过QQ互联,网站主或开发者可以申请接入QQ登录,获取登录用户基本资料,
0条评论