微信开发之自定义菜单创建
最进在研究微信公众平台开发.遇到不少问题,现在记录一下.(PS:目前我使用的是wechat4j创建)
代码先出来
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String token = TokenProxy.accessToken(); LOG.info("token===["+token+"]"); Menu menu = new Menu(); MenuButton mb = new MenuButton(); mb.setType(EventType.VIEW); mb.setName("测试按钮"); mb.setUrl("www.baidu.com");//http://192.168.1.100:8080/wx mb.setKey("aa"); List bu = new ArrayList<MenuButton>(); bu.add(mb); menu.setButton(bu); MenuManager mm = new MenuManager(); try { mm.create(menu); } catch (WeChatException e) { // LOG. e.printStackTrace(); } }
此时出现了两个问题,如下
1)异常码:65318;异常说明:must use utf-8 charset hint: [OTISGa0776vr19]
这个问题的出现是因为mb.setType(EventType.VIEW);这句代码
经过查找资料说需要使用小写的字符.后来改为mb.setType(EventType.view).便不抱错了
2)异常码:40055;异常说明:invalid button url domain hint
这个问题的出现是在
mb.setUrl("www.baidu.com"); 这里.找了一个以前的网址上的说明(官网上没有看到这个错误说明. http://blog.csdn.net/u014401637/article/details/61932637)
40055 invalid button url domain 不合法的菜单按钮url域名
后来我改成跳转到我自己项目上的地址便可以了 mb.setUrl("http://192.168.1.100:8080/wx");
此时.完整的代码如下:
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String token = TokenProxy.accessToken(); LOG.info("token===["+token+"]"); Menu menu = new Menu(); MenuButton mb = new MenuButton(); mb.setType(EventType.view); mb.setName("测试按钮"); mb.setUrl("http://192.168.1.100:8080/wx"); //mb.setKey("aa"); List bu = new ArrayList<MenuButton>(); bu.add(mb); menu.setButton(bu); MenuManager mm = new MenuManager(); try { mm.create(menu); } catch (WeChatException e) { // LOG. e.printStackTrace(); } }
以上内容来源于百科书,可以关注我了解更多.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了