这篇文章主要介绍了C#微信公众平台菜单开发的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
根据开发者AppID(应用ID)和AppSecret(应用密钥)获取ACCESS_TOKEN值,请求地址是:https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=wx69e10a281a17e81f&secret=cff1fa9d984a3d122cadfbb901ecfa32,其中“wx69e10a281a17e81f”是微信圈圈的appid,“cff1fa9d984a3d122cadfbb901ecfa32”是微信圈圈的AppSecret,获取ACCESS_TOKEN后,菜单请求地址是:https://api.weixin.qq.com/cgi-bin/menu/create?access_token=值,将获取到的ACCESS_TOKEN值代入链接地址中,即可创建一组菜单。
菜单创建格式:
{ "button": [ { "type": "click", "name": "今日歌曲", "key": "V1001_TODAY_MUSIC" }, { "name": "菜单", "sub_button": [ { "type": "view", "name": "搜索", "url": "http://www.soso.com/" }, { "type": "view", "name": "视频", "url": "http://v.qq.com/" }, { "type": "click", "name": "赞一下我们", "key": "V1001_GOOD" } ] } ] }
若不是第一次创建菜单,则需在创建菜单前,删除已存在的菜单,删除菜单请求地址是:https://api.weixin.qq.com/cgi-bin/menu/delete?access_token=值,将获取到的ACCESS_TOKEN值代入链接地址中,即可删除已存在的菜单。
示例:
菜单创建片段:
string postString = "{\"button\":[{\"name\":\"讯息速递\",\"sub_button\":[{\"type\":\"click\",\"name\":\"改版公告\",\"key\":\"RevisionNotice\"},{\"type\":\"view\",\"name\":\"春天读好书\",\"url\":\"http://ah.10086.cn/new/s/ydty/ctdhsxscd \"}]},{\"name\":\"我要分享\",\"sub_button\":[{\"type\":\"click\",\"name\":\"读 · 好书\",\"key\":\"bookRanking\"},{\"type\":\"click\",\"name\":\"听 · 酷音\",\"key\":\"musicRanking\"},{\"type\":\"click\",\"name\":\"玩 · 趣游\",\"key\":\"gameRanking\"}]},{\"name\":\"个人中心\",\"sub_button\":[{\"type\":\"click\",\"name\":\"身份验证\",\"key\":\"BDClick\"},{\"type\":\"click\",\"name\":\"积分兑换\",\"key\":\"OnExchange\"},{\"type\":\"click\",\"name\":\"积分规则说明\",\"key\":\"IntegralRule\"}]}]}"; //微信圈圈菜单
byte[] postData = Encoding.UTF8.GetBytes(postString);//编码,尤其是汉字,事先要看下抓取网页的编码方式
string url = "https://api.weixin.qq.com/cgi-bin/menu/create?access_token=LZTCC_eaEHVsEh9pEczSYqGzrphoCsSiTtkbMwDj5yqkQVlP3rObDxxIm6J7cG39mLljSw9H18efkwEK0dHrCTlbKBXOJf2BHFuNZ4MZRBM";//根据获取的ACCESS_TOKEN值代入链接中创建菜单
WebClient webClient = new WebClient();
webClient.Headers.Add("Content-Type", "application/x-www-form-urlencoded");//采取POST方式必须加的header,如果改为GET方式的话就去掉这句话即可
byte[] responseData = webClient.UploadData(url, "POST", postData);//得到返回字符流
string srcString = Encoding.UTF8.GetString(responseData);//解码
Response.Write(srcString);
感谢你能够认真阅读完这篇文章,希望小编分享的“C#微信公众平台菜单开发的示例分析”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。