自定义菜单最多包括3个一级菜单
http请求方式:POST(请使用https协议) https://api.weixin.qq.com/cgi-bin/menu/create?access_token=ACCESS_TOKEN
click和view的请求示例
{
"button":[
{
"type":"click",
"name":"今日歌曲",
"key":"V1001_TODAY_MUSIC"
},
{
"name":"菜单",
"sub_button":[
{
"type":"view",
"name":"搜索",
"url":"http://www.soso.com/"
},
{
"type":"miniprogram",
"name":"wxa",
"url":"http://mp.weixin.qq.com",
"appid":"wx286b93c14bbf93aa",
"pagepath":"pages/lunar/index"
},
{
"type":"click",
"name":"赞一下我们",
"key":"V1001_GOOD"
}]
}]
}
参数说明
Demo案例:
java里的main方法:
public static void main(String[] args) { //自定义菜单创建接口 AccessToken accessToken=WeixinUtil.getAccessToken(ParamesAPI.appId,ParamesAPI.secret); String menuUrl="https://api.weixin.qq.com/cgi-bin/menu/create?access_token="+accessToken.getToken(); //button array JSONArray btnArray=new JSONArray(); //button1 JSONObject btn1Json=new JSONObject(); btn1Json.put("type","view"); btn1Json.put("name","绑定"); btn1Json.put("url","https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx59edf850079b7948&redirect_uri=http://ast.tunnel.qydev.com/wechat/login.action&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect"); //button2 JSONObject btn2Json=new JSONObject(); btn2Json.put("type","view"); btn2Json.put("name","执行人员"); btn2Json.put("url","https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx59edf850079b7948&redirect_uri=http://ast.tunnel.qydev.com/wechat/admin/userOperate/getUserOperatePage.action&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect"); //button3 JSONObject btn3Json=new JSONObject(); btn3Json.put("type","view"); btn3Json.put("name","业务员"); btn3Json.put("url","https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx59edf850079b7948&redirect_uri=http://ast.tunnel.qydev.com/wechat/admin/orderBase/getOrderBasePage.action&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect"); btnArray.add(btn1Json); btnArray.add(btn2Json); btnArray.add(btn3Json); JSONObject json=new JSONObject(); json.put("button",btnArray); JSONObject jsonObject = HttpClientUtil.getInstance().httpPostRequest(menuUrl, json.toString()); System.out.println("自定义菜单创建接口" + jsonObject); }
注:HttpClient 是Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。
HttpClientUtil.java