0

菜单读取失败

微信开发 · Patrick · 查看 2233 次 · 于 1年前

反馈一个问题,使用 CommonApi.GetMenu(appId) 方法会抛出异常。

通过断点到源码(CommonApi.Menu.Custom.cs)看到异常位置是:
if (jsonResult.menu == null || jsonResult.menu.list == null || jsonResult.menu.list.subbutton.Count == 0)
 {
   throw new WeixinMenuException(jsonResult.errmsg);
 }

实际从微信可以取到菜单:
var jsonString = RequestUtility.HttpGet(CommonDI.CommonSP, url, Encoding.UTF8);
json格式是:
{
 "menu" : {
   button: [
     { type: "click", name: "单击测试", key: "OneClick" }
     ......
   ]
 }
}

menu下面没有list而导致抛出异常。

您尚未登录,请:网站登录 or 微信登录
共收到 4 条回复
0

Senparc 1年前

好的,我们会排查一下,非常感谢!

0

Patrick 1年前

从得到的json看,差异是:menu对象下面是名为“button”的数组,而我们的SDK反序列化<GetMenuResultFull>对象中的数组名字是“list”

0

Patrick 1年前

通过【232行】
var url = string.Format(Config.ApiMpHost + "/cgi-bin/menu/get?access_token={0}", accessToken.AsUrlData());
得到的菜单json:

{
 "menu": {
   "button": [
     {
       "type": "click",
       "name": "单击测试",
       "key": "OneClick",
       "sub_button": [
         
       ]
     },
     {
       "name": "二级菜单",
       "sub_button": [
         {
           "type": "click",
           "name": "返回文本",
           "key": "SubClickRoot_Text",
           "sub_button": [
             
           ]
         },
         {
           "type": "click",
           "name": "返回图文",
           "key": "SubClickRoot_News",
           "sub_button": [
             
           ]
         },
         {
           "type": "click",
           "name": "返回音乐",
           "key": "SubClickRoot_Music",
           "sub_button": [
             
           ]
         },
         {
           "type": "view",
           "name": "Url跳转",
           "url": "http:\/\/weixin.senparc.com",
           "sub_button": [
             
           ]
         }
       ]
     }
   ]
 }
}

这个菜单也是通过SDK创建的,在测试公众号上可以看到菜单。
通过 CommonApi.GetMenu(appId) 读取正式公众号菜单也会抛出同样的异常。

0

Senparc 1年前

方便提供一下您完整的原始菜单json数据吗(脱敏)?我们需要做一个单元测试看一下。


热门话题 更多 >>

v3微信支付验签失败,v3各参数均已填写

macong 5 个回复 • 查看 863 次 • 29天前

微信支付验签报错

taowendi 2 个回复 • 查看 778 次 • 9天前

Program.cs中启用UseSenparcWeixin报错

xxxx96923 2 个回复 • 查看 108 次 • 3天前

怎么在program中注册多个微信支付

好好好好 2 个回复 • 查看 695 次 • 49天前

微信支付 V3

wahcr 2 个回复 • 查看 886 次 • 133天前

商户付款到零钱接口调用问题

ztwz 1 个回复 • 查看 1923 次 • 98天前

实现用户关注后记录用户信息

aspxcs 1 个回复 • 查看 935 次 • 178天前

微信支付 V3

wahcr 1 个回复 • 查看 1003 次 • 133天前

获取企业审批模板selector控件选项key错误

YYDS 1 个回复 • 查看 967 次 • 37天前

Senparc.Weixin.MP不支持.net9吗

xxxx96923 1 个回复 • 查看 63 次 • 3天前

微信后台验证报下面的错误

laowu 1 个回复 • 查看 528 次 • 5天前

个人信息
QQ群
  • 1群:300313885 (2000人群 已满)
  • 2群(公众号):293958349 Senparc.Weixin.MPSDK 2群
  • 3群:342319110 (2000人群 已满)
  • 4群:372212092 (500人群 已满)
  • 5群:377815480 (1000人群 已满)
  • 6群:425898825 (1000人群 已满)
  • 7群:482942254 (500人群 已满)
  • 8群:106230270 (500人群 已满)
  • 9群:539061281 (500人群 已满)
  • 10群(分布式缓存):246860933 Senparc.Weixin.Cache SDK 10群
  • 11群:553198593 (500人群 已满)
  • 12群(小程序):108830388 (2000人群 已满)
  • 13群(开放平台):183424136 (500人群 已满)
  • 14群(视频学员):588231256 Senparc.Weixin SDK 14群
  • 15群(综合):289181996 (500人群 已满)
  • 16群(开放平台):860626938 (500人群 已满)
  • 17群(小程序):770615466 [17群 开放平台]SenparcSDK
  • NCF 技术交流群:147054579 SCF 开发交流群
微信开发宝典:《微信开发深度解析》

由 Senparc.Weixin SDK 作者耗时两年完成的微信开发图书《微信开发深度解析:公众号、小程序高效开发秘籍》已经出版!

历经2年精心雕琢,难得的“理论 + 实战案例 + 趟坑经验”总结,
从需求分析、策划,到账号申请、验证,再到全面的 API 及开发工具,
覆盖所有开发微信公众号(含订阅号、服务号和小程序)所需关键技能!

视频教程:《微信公众号+小程序快速开发》

由盛派课堂(盛派旗下独立教育品牌)制作,《微信开发深度解析》作者苏震巍先生主讲的《微信公众号+小程序快速开发》视频课程开课啦!

课程采用“理论+实战”的教学形式,结合部分《微信开发深度解析》内容,独立于书本,包含了更多的操作演示和案例展示,帮助大家从多个维度学习微信开发以及.NET开发过程中的诸多技巧。
课程包含两大部分:
1. 微信开发基础技能
2. 公众号及小程序案例实战
共计60课时,配有番外篇,目前视频已在网易云课堂上线。