C#/ASP.NET MVC微信公众号接口开发之从零开发(四) 微信自定义菜单(附源码)

C#/ASP.NET MVC微信接口开发文章目录:

1.C#/ASP.NET MVC微信公众号接口开发之从零开发(一) 接入微信公众平台

2.C#/ASP.NET MVC微信公众号接口开发之从零开发(二) 接收微信消息并且解析XML(附源码)

3.C#/ASP.NET MVC微信公众号接口开发之从零开发(三)回复消息 (附源码)

 

自定义菜单开发

1.配置Json字符串

首先配置菜单/menu所需要的Json字符串,然后用post请求微信接口地址即可。配置json格式参看微信接口文档:http://mp.weixin.qq.com/wiki/13/43de8269be54a0a6f64413e4dfa94f39.html

2.Post请求发布

配置好Json字符串之后请求微信api地址代码:

 1 /// <summary>
 2 /// 发布菜单
 3 /// </summary>
 4 /// <param name="MenuJson">配置的菜单json数据</param>
 5 /// <param name="AppID">AppID</param>
 6 /// <param name="AppSecret">AppSecret</param>
 7 /// <returns>返回0成功否则错误码</returns>
 8 public string MenuCreate(string MenuJson,string AppID,string AppSecret) {
 9     string setMenuUrl = "https://api.weixin.qq.com/cgi-bin/menu/create?access_token={0}";
10     setMenuUrl = string.Format(setMenuUrl, BasicApi.GetTokenSession(AppID,AppSecret));//获取token、拼凑url
11     string respText = sohovan.com.common.CommonMethod.WebRequestPostOrGet(setMenuUrl, MenuJson);
12     Dictionary<string, object> respDic = (Dictionary<string, object>)Jss.DeserializeObject(respText);
13     return respDic["errcode"].ToString();//返回0发布成功
14 }

若发布成功则返回0,发布失败返回错误码。
3.响应菜单事件

菜单发布成功,根据配置的Json字符串,菜单分为两种基本的常用类型click(单击)、view(跳转url),view直接跳转到配置的url,click事件的微信服务器发送事件XML给对于的微信用户格式为:

<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[FromUser]]></FromUserName>
<CreateTime>123456789</CreateTime>
<MsgType><![CDATA[event]]></MsgType>
<Event><![CDATA[CLICK]]></Event>
<EventKey><![CDATA[EVENTKEY]]></EventKey>
</xml>
EventKey为我们发布自己定义的key值,根据key值我们可以设置对于的回复消息。

 

本文版权归作者(谢俊)和博客园所有,欢迎转载,转载请标明出处。

原文地址:http://www.cnblogs.com/net-xiejun/

微信开发群C#.NETWEB程序开发交流

完整源码下载:https://github.com/xiejun-net/weixin

公众账号:

posted @ 2015-07-21 14:30  村长村长  阅读(5453)  评论(5编辑  收藏  举报