使用java代码开发自定义菜单
第一步,获取到accessToken(接口的accessToken和网络授权的accesstoken不一样)
可以查看我的另一篇博客
第二部组装数据
直接上代码

public static void createCustomMenu(String accesstoken,String menu) throws Exception{
String custmMenuUrl = "https://api.weixin.qq.com/cgi-bin/menu/create?access_token=";
custmMenuUrl = custmMenuUrl + accesstoken;

URL url = new URL(custmMenuUrl);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();

connection.setRequestMethod("POST");
connection.setDoOutput(true);
connection.setDoInput(true);
connection.connect();

OutputStream outputStream = connection.getOutputStream();
outputStream.write(menu.getBytes("UTF-8"));
outputStream.flush();
outputStream.close();

InputStream inputStream = connection.getInputStream();
int size =inputStream.available();
byte[] bs =new byte[size];
inputStream.read(bs);
String message=new String(bs,"UTF-8");
System.out.println(message);
}

组装数据

public static String getMenuStr() throws JSONException,Exception{
JSONObject firstLevelMenu = new JSONObject();//一级菜单
JSONArray firstLevelMenuArray = new JSONArray();//一级菜单列表

//一级菜单内容3
JSONObject firstLevelMenuContext3 = new JSONObject();
firstLevelMenuContext3.put("type", "view");
firstLevelMenuContext3.put("name", "无极");

//当我们给菜单设置一个按钮的时候,在这个按钮下面设置就一个事件,这样你在点击这个按钮的时候就会触发这个事件,比如说你就可以跳转到你服务器上的页面,这样就可以进行开发了,你也可以在这个按钮下面跳转到控制器,在这个控制器里面获去用户的信息什么的
String qq= "http://15326b0d65.iok.la/org.zsl.hnust/user/bulidWeiXinInter";
qq = java.net.URLEncoder.encode(qq, "UTF-8");
firstLevelMenuContext3.put("url", "http://open.weixin.qq.com/connect/oauth2/authorize?appid=wx68d51b01803f7838&redirect_uri="+qq+"&response_type=code&scope=snsapi_userinfo&state=[state]#wechat_redirect");

firstLevelMenuArray.add(firstLevelMenuContext3);

firstLevelMenu.put("button", firstLevelMenuArray);
return firstLevelMenu.toString();
}

最后是调用这个方法

WeiXinUtil weiXinUtil = new WeiXinUtil();
//与微信建立链接获取token
Map<String,Object>map=weiXinUtil.getAccessToken();
//建造菜单
//(String)map.get("access_token")获取token
//组装菜单weiXinUtil.getMenuStr()

weiXinUtil.createCustomMenu((String)weiXinUtil.getAccessToken().get("access_token"), weiXinUtil.getMenuStr());

转载于:https://www.cnblogs.com/oushiyang/p/7793311.html

微信开发的时候自定义菜单相关推荐

  1. 微信开发系列之自定义菜单实现

    编辑模式和开发模式是有冲突的.所以我们启用微信公众号的开发模式之后,那些菜单是看不到的哦.不过现在个人订阅号是不可以使用高级开发者模式的,如自定义菜单,不过我们还是可以通过测试号来测试一下,然后移代码 ...

  2. 微信开发模式下自定义菜单配置

    微信打开开发者模式后,以前通过微信后台配置的菜单就失效了,需要通过我们自己服务器后台配置(需要开发),还有一种比较简单的方法,就是通过微信提供的"微信公众平台接口测试工具"进行配置 ...

  3. java 微信自定义菜单开发_微信公众号开发之设置自定义菜单实例代码【java版】...

    本实例是为了实现在管理后台实现微信菜单的添加删除管理. 1.首先我们需要新建一个数据库表用于存放menu菜单项 可包含的字段有id.父类id.name.排序.是否显示.类型(view.click).链 ...

  4. android 微信公众号开发教程,微信公众号-开发者-自定义菜单,公众开发者

    微信公众号-开发者-自定义菜单,公众开发者 我是个初学者,网上找了看了好多,都是第三方实现的,考虑到安全问题,不敢用! 今天终于摸索出了实现方法. 官方api:http://mp.weixin.qq. ...

  5. php创建菜单_php实现微信公众号创建自定义菜单功能的实例代码

    目的 创建自定义菜单,实现菜单事件. 首先获取Access_Token 接口: 我用的是测试号,修改APPID和APPSECRET,然后浏览器访问上面这个Url即可生成Access_Token 然后配 ...

  6. 微信公众号平台-自定义菜单

    自定义菜单 微信公众平台自定义菜单设置方法 进入微信公众平台->功能->自定义菜单->添加菜单->点击"+"添加子菜单->设置动作->发布. 1 ...

  7. 【微信公众号】个人订阅号开发模式下自定义菜单

    点开开发模式,原菜单一定失效了. 点击微信公众平台,左侧添加功能插件 点击自定义菜单 点击开启

  8. wechatpy开发微信公众号(实现自定义菜单,翻译)

    今天来学习通过wechatpy 来开发微信公众号. 准备工作: 1.申请一个微信公众号 2.pip install wechatpy 如是自己没有服务器,下载ngrok :ngrok 是一个反向代理, ...

  9. python 公众号菜单_Python微信公众号后台开发003:自定义菜单

    有同学问道微信公众号后台开发的自定义菜单怎么实现? 这个问题本来想放到后面的,因为的确对公众号的影响挺明显的, 因为开启后台服务,公众号的自定义菜单就不见了,很影响使用, 也有同学问这个问题,就提前了 ...

  10. thinkphp 之微信公众号(自定义菜单开发)

    前言:小编接触php 2年前开始接触了 但是后面转了IOS .还记得那个时候thinkphp 还是2.3 的版本.现在回头看看 都已经是5.0.3 的版本了.这不最近又拿起来学习一下.才发现很多的结构 ...

最新文章

  1. 转:MySQL索引原理及慢查询优化
  2. windows环境运行MongoDB
  3. JQuery Basic Features Quick Walkthrough
  4. FreeBSD 6.0架设管理与应用-附录B 制作FreeBSD安装光盘
  5. [原创]同一页面无法多次使用XmlHttp发起Ajax请求的真实原因
  6. php cros跨域处理,php_CORS 跨域
  7. ping 不通 华为三层交换机vlan_华为三层交换机如何让VLAN间不能互通配置精编版...
  8. 云虚机php.ini在,虚拟主机php.ini在哪
  9. thinkphp回调的php调用db类,请问thinkphp中model类自动完成功能 回调函数能不能获取其他字段的值?...
  10. mongodb远程连接windows
  11. go post请求的响应数据渲染到html模板_干货你需要了解的六种渲染模式
  12. 计算机配置cpo,使用域组策略及脚本统一配置防火墙-20210421070355.docx-原创力文档...
  13. Java JavaFX 批量修改文件夹里面的文件的名字
  14. 错误-trustAnchors参数必须为非空
  15. 广域网协议之PPP,HDLC
  16. java web整合开发完全自学手册pdf_《JavaScript完全自学手册》PDF 下载
  17. 国内优秀开源镜像站汇总
  18. 我奋斗十八年不是为了和你一起喝咖啡
  19. 柔性电流传感器(柔性电流探头)的工作原理和特点是什么?
  20. 如何实现一个sandbox?

热门文章

  1. 端午节,我们好好聊聊程序员这个群体
  2. 【收藏】一千行 MySQL 学习笔记
  3. 改变计算机界的存储解决方案:RAID,30岁生日快乐!
  4. Python 这么热,运维要不要追赶 Python 的热潮?
  5. 看小龙哥演讲之感悟!
  6. java命令_java常用命令javac、javap、jps、jstack
  7. bp算法中为什么会产生梯度消失?
  8. [总结] LCT学习笔记
  9. BZOJ 1878: [SDOI2009]HH的项链【莫队】
  10. 《数据库系统概念》19-并发控制