微信开发之自定义菜单创建

最进在研究微信公众平台开发.遇到不少问题,现在记录一下.(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();
}
}

展开阅读全文

没有更多推荐了,返回首页