草灯的专栏

未来,是做出来的,不是说出来的

微信公众号第三方开发之七提交全网发布

        在开始这个章节前,我要特别说明下,“公众号消息与事件接收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过来的这三段测试消息体进行对应的回复。

 

经过一番测试发现步骤12回复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

 

        代码如下:

 

        最后上传服务器再次提交测试,成功!


阅读更多

扫码向博主提问

去开通我的Chat快问

eadio

非学,无以致疑;非问,无以广识
  • 擅长领域:
  • 前端开发
  • 微信小程序
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/eadio/article/details/51546687
个人分类: 微信开发 MVC
上一篇net mvc4.5从客户端中检测到有潜在危险的 Request.Form 值 的解决方法
下一篇Angular.js学习之一下载和搭建hello world实例
想对作者说点什么? 我来说一句

-

1970年01月01日 0B 下载

微信第三方平台代码

2017年09月12日 32.59MB 下载

没有更多推荐了,返回首页

关闭
关闭