C#微信开发之旅(五):操作公众号菜单

菜单操作类:

 1 #region 创建、查询、删除菜单
 2
 3         /// <summary>
 4         /// 创建菜单
 5         /// </summary>
 6         /// <param name="menuData">菜单字符串</param>
 7         /// <returns>ReturnMsg.ErrCode为0则创建菜单成功</returns>
 8         public static ErrorMessage CreateMenu(string menuData)
 9         {
10             string url = string.Format(WeiXinConst.WeiXin_Menu_CreateUrl, AccessToken.Instance.Access_Token);
11             ErrorMessage msg = HttpClientHelper.PostResponse<ErrorMessage>(url, menuData);
12             return msg;
13         }
14
15         /// <summary>
16         /// 获取菜单信息
17         /// </summary>
18         /// <returns>菜单详细信息的字符串(失败则返回 null)</returns>
19         public static string GetMenu()
20         {
21             string url = string.Format(WeiXinConst.WeiXin_Menu_GetUrl, AccessToken.Instance.Access_Token);
22             string result = HttpClientHelper.GetResponse(url);
23             return result;
24         }
25
26         /// <summary>
27         /// 删除自定义菜单
28         /// </summary>
29         /// <returns></returns>
30         public static bool DeleteMenu()
31         {
32             string url = string.Format(WeiXinConst.WeiXin_Menu_DeleteUrl, AccessToken.Instance.Access_Token);
33             ErrorMessage msg = HttpClientHelper.GetResponse<ErrorMessage>(url);
34             return msg.ErrCode == "0";
35         }

有了上面的方法,一切都是那么简单

一、自定义菜单创建

menu.txt是存储菜单的文本文件,ErrorMessage 是对微信返回结果的封装:

 1     public class ErrorMessage
 2     {
 3         //{"errcode":40001,"errmsg":"invalid credential"} AppId AppSecret   配置错误,或AccessToken 过期
 4
 5         public string ErrCode { get; set; }
 6
 7         public string ErrMsg { get; set; }
 8
 9         public bool TokenExpired
10         {
11             get { return ErrCode == "40001"; }
12         }
13     }
1        string menuFile = Server.MapPath("~/Document/menu.txt");
2             string menuString = System.IO.File.ReadAllText(menuFile);
3
4             ErrorMessage message = WeiXinHelper.CreateMenu(menuString);

二、自定义菜单查询

           string menuString =WeiXinHelper.GetMenu();

三、自定义菜单删除

            bool result = WeiXinHelper.DeleteMenu();
时间: 2024-08-30 01:25:06

C#微信开发之旅(五):操作公众号菜单的相关文章

微信开发在Pc端调用公众号粉丝发送过来的图片素材

因为项目要在PC端搞一个微信墙功能,就是把粉丝发送过来的上墙内容给展示出来,但因为微信对微信素材进行了防盗链加密处理,所以在非微信页面上直接引用在微信服务器上的图片的链接是无法显示的,只会显示一张微信默认提示图片,如果我们要调用的话就只能先调用微信获取临时素材接口 https://api.weixin.qq.com/cgi-bin/media/get?access_token=ACCESS_TOKEN&media_id=MEDIA_ID把图片先下载到自己服务器再进行调用,这样就很简单了

微信开放平台 公众号第三方平台开发 教程五 代公众号发起网页授权源码

教程导航: 微信开放平台 公众号第三方平台开发 教程一 平台介绍 微信开放平台 公众号第三方平台开发 教程二 创建公众号第三方平台 微信开放平台 公众号第三方平台开发 教程三 一键登录授权给第三方平台 微信开放平台 公众号第三方平台开发 教程四 代公众号调用接口的SDK和demo 微信开放平台 公众号第三方平台开发 教程五 代公众号发起网页授权源码 由于最近比较忙,这个教程没有连续上,我会尽量连载.书节上回,上次我介绍了代公众号调用接口的方法和SDK的使用.不少朋友也都加了QQ群(2489462

C#微信开发之旅(三):AccessToken获取及全局管理

由于AccessToken有效期为2小时,并且接口调用有数量限制,所以开始时选择用WCF做了全局管理(项目中要到AccessToken的地方太多了,支付相关.生成二维码.获取用户信息.菜单操作等等) 下面是AccessToken全局管理的单例类,(原理:通过微信接口获取AccessToken,存储在内存中,当其他项目调用时,会判断是否过期,过期去拿新Token再返回): 1 /// <summary> 2 /// AccessToken类,公众号通过此token 获取相关信息 (单例类) 3

Force.com微信开发系列(五)自定义菜单进阶及语音识别

在上文里我们介绍了如何通过Force.com平台里为微信账号添加自定义菜单,本文里我们将进一步介绍如何查询菜单以及删除菜单的相关知识,最后会介绍微信平台如何进行语音识别的相关技术. 查询菜单 与创建菜单类似,查询菜单有自己的接口,其中ACESS_TOKEN需要通过前文介绍到的接口获取,通常2小时后会失效: https://api.weixin.qq.com/cgi-bin/menu/get?access_token=[ACCESS_TOKEN] 为此首先通过前文介绍到的获取Access_Toke

C#微信开发之旅(十三):V2订单查询&amp;退款(完结)

订单查询 用处同V3订单查询,直接上代码: 1 /// <summary> 2 /// V2订单查询 3 /// </summary> 4 public void QueryOrder() 5 { 6 string orderNo = string.Empty; 7 8 WxPayModel model = WxPayModel.Create(orderNo); 9 OrderQueryMessage message = WeiXinHelper.OrderQuery(model.

微信公众号菜单添加小程序,miniprogram,pagepath参数详解,php开发公众号

随着微信小程序功能的开发, 已经可以跟公众号打通了, 主要有两种方式: 1) 在公众号文章中插入小程序 2) 在公众号菜单中添加小程序 第一种方式, 子恒老师在前面的课程已经详细介绍过, 今天来讲第二种方法, 怎么通过开发的方式实现. 一. 公众号菜单添加小程序请求的微信地址 https://api.weixin.qq.com/cgi-bin/menu/create?access_token=ACCESS_TOKEN 其中 ACCESS_TOKEN 需要替换成你自己的 access token,

C#微信开发之旅(八):通过授权code以及openid获取用户信息

要将我们的Web账号和微信账号绑定到一起,必须要用到微信openid的概念,每个账号对于不同公众号都会有一个openid ,可以根据openid与我们的账号关联到一起. 而openid 的获取最主要的: 微信推送给我们的各种消息 网页授权 可能用到的地方: 注册(通过网页授权获取openid,与注册的账户关联起来) 公众号菜单配置为网页授权Url,免登陆 统计分析(比如:关注用户中的注册.未注册用户数量) 直接上代码:(由于开发过程中未用到 授权snsapi_userinfo的,所以代码先空着,

微信公众号菜单openid 点击菜单即可打开并登录微站

现在大部分微站都通过用户的微信openid来实现自动登录.在我之前的开发中,用户通过点击一个菜单,公众号返回一个图文,用户点击这个图文才可以自动登录微站.但是如果你拥有高级接口,就可以实现点击菜单,打开网页就能获取这个openid,实现自动登录. 这里已经提到,必须要拥有高级接口的权限(服务号.企业号),开启了开发者模式. 1.设置回调地址 在微信公众平台后台“开发者中心”中找到“高级接口”下的“OAuth2.0网页授权”,后面有一个“修改”,点击之后就会弹出填写回调地址的对话框.具体如何授权,

玩玩微信公众号Java版之四:自定义公众号菜单

序: 微信公众号基本的菜单很难满足个性化及多功能的实现,那么微信能否实现自定菜单呢,具体的功能又如何去实现么?下面就来学习一下微信自定义公众号菜单吧! 自定义菜单接口可实现多种类型按钮,如下: 1.click:点击推事件用户点击click类型按钮后,微信服务器会通过消息接口推送消息类型为event的结构给开发者(参考消息接口指南),并且带上按钮中开发者填写的key值,开发者可以通过自定义的key值与用户进行交互:2.view:跳转URL用户点击view类型按钮后,微信客户端将会打开开发者在按钮中