微信公众号第三方开发之七提交全网发布
2016-05-31 16:28
381 查看
在开始这个章节前,我要特别说明下,“公众号消息与事件接收URL ”微信有说明尾数一定要带字串/$APPID$/,而这个固定字串,到时微信post消息过来的时候会自动替换成授权公众号。
一开始我也是不明白为什么要这样处理,我不是需要动态创建无数个方法,后来经大神提醒可以做成伪静态来处理。才恍然醒悟啊!!!
比如微信上填写: http://www.weixin.com/eventmsg/$APPID$/
我用的是mvc框架,那么我只要在路由里头重写下规则
routes.MapRoute(null,"eventmsg/{appid}", new { controller = "Event", action ="DoEvent" });
那么我只要创建一个event的控制器文件里头添加如下操作方法:
//公众号消息与事件接收URL 当普通用户关注授权给第三方公众号触发的url地址
public ContentResult DoEvent(string appid = "0"){
////do something
////用户关注自动回复处理....
}
以上都做好后,我提交了全网发布,然后微信反馈回来的消息如下:
然后我点击了下面的链接跳转到这个页面上,才发现微信在提交全网发布的时候还需要一个流程----“全网发布接入检测说明”。
接入全网发布地址:
https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419318611&token=05f36979d4762c1277fa9578578c50ad85befaa5&lang=zh_CN
这里还需要做到3步验证,文档内描述如下:
当然如果你创建微信第三方的时候没有勾选
是不需要检测2、3步骤的,由于我默认都勾选的,所以上述提及的验证都需要在测试一遍才行。
接下来我们监控事件接收url地址,发现我点击发布的时候微信post过来三段xml文本消息
那么,现在我们只需要针对post过来的这三段测试消息体进行对应的回复。
经过一番测试发现步骤1、2回复xml消息体的还是都要经过加密成xml消息体在进行返回给微信服务器的哦,最后只需要根据获取到的content文本和消息类型进行xml封装回复。步骤如下:
1、模拟粉丝触发专用测试公众号的事件
2、模拟粉丝发送文本消息给专用测试公众号
3、模拟粉丝发送文本消息给专用测试公众号[返回Api文本消息]
最后一步验证比较麻烦,
首先,需要根据微信post过来的query_code和微信api获取测试公众号的access_token
然后,根据微信API"发送客服消息api回复文本消息给粉丝"接口发送写好的消息体。
微信api:客服接口-发消息【记住,这里不需要在加密啦】
http://mp.weixin.qq.com/wiki/1/70a29afed17f56d537c833f89be979c9.html#.E5.AE.A2.E6.9C.8D.E6.8E.A5.E5.8F.A3-.E5.8F.91.E6.B6.88.E6.81.AF
代码如下:
最后上传服务器再次提交测试,成功!
一开始我也是不明白为什么要这样处理,我不是需要动态创建无数个方法,后来经大神提醒可以做成伪静态来处理。才恍然醒悟啊!!!
比如微信上填写: http://www.weixin.com/eventmsg/$APPID$/
我用的是mvc框架,那么我只要在路由里头重写下规则
routes.MapRoute(null,"eventmsg/{appid}", new { controller = "Event", action ="DoEvent" });
那么我只要创建一个event的控制器文件里头添加如下操作方法:
//公众号消息与事件接收URL 当普通用户关注授权给第三方公众号触发的url地址
public ContentResult DoEvent(string appid = "0"){
////do something
////用户关注自动回复处理....
}
以上都做好后,我提交了全网发布,然后微信反馈回来的消息如下:
然后我点击了下面的链接跳转到这个页面上,才发现微信在提交全网发布的时候还需要一个流程----“全网发布接入检测说明”。
接入全网发布地址:
https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=open1419318611&token=05f36979d4762c1277fa9578578c50ad85befaa5&lang=zh_CN
这里还需要做到3步验证,文档内描述如下:
当然如果你创建微信第三方的时候没有勾选
是不需要检测2、3步骤的,由于我默认都勾选的,所以上述提及的验证都需要在测试一遍才行。
接下来我们监控事件接收url地址,发现我点击发布的时候微信post过来三段xml文本消息
那么,现在我们只需要针对post过来的这三段测试消息体进行对应的回复。
经过一番测试发现步骤1、2回复xml消息体的还是都要经过加密成xml消息体在进行返回给微信服务器的哦,最后只需要根据获取到的content文本和消息类型进行xml封装回复。步骤如下:
1、模拟粉丝触发专用测试公众号的事件
2、模拟粉丝发送文本消息给专用测试公众号
3、模拟粉丝发送文本消息给专用测试公众号[返回Api文本消息]
最后一步验证比较麻烦,
首先,需要根据微信post过来的query_code和微信api获取测试公众号的access_token
然后,根据微信API"发送客服消息api回复文本消息给粉丝"接口发送写好的消息体。
微信api:客服接口-发消息【记住,这里不需要在加密啦】
http://mp.weixin.qq.com/wiki/1/70a29afed17f56d537c833f89be979c9.html#.E5.AE.A2.E6.9C.8D.E6.8E.A5.E5.8F.A3-.E5.8F.91.E6.B6.88.E6.81.AF
代码如下:
最后上传服务器再次提交测试,成功!
相关文章推荐
- 微信浏览器的页面在PC端访问
- 微信开发常用文档及参考资料
- 微信开发常用文档及参考资料
- 微信开发常用文档及参考资料
- 如何在不接入微信API的情况下自定义分享内容(图片、链接、标题)
- 微信线下门店二维码扫码支付和退款
- 仿微信图片选择器
- 微信开发——1、编辑模式学习总结
- Android应用加入微信分享
- 微信
- 高仿微信图片选择
- 微信支付之HTML5页面WAP端接入
- iOS:判断设备上是否安装微信或qq 集成微信SDK的时候判断是否安装微信 基于ShareSDK
- 花生壳动态域名软件3重大版本:客户端支持微信远程管理
- 利用 Makefile 写的小程序
- ios ShareSDK点击微信分享没反应
- WeMall成立三周年记
- 友盟分享中分享到微信只有文字信息没有要跳转的链接
- 高仿手机质量怎么样?能用吗?
- 微信硬件平台从入门到精通(服务器端)