重庆小潘seo博客

当前位置:首页 > 重庆网络营销 > 小潘杂谈 >

小潘杂谈

使用java实现微信公众平台自定义菜单的创建示例代码

时间:2020-09-04 17:00:08 作者:重庆seo小潘 来源:
这篇文章主要介绍了使用java实现微信公众平台自定义菜单的创建示例代码,需要的朋友可以参考下 代码如下:import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.net.HttpURLConnection;import java.net.MalformedU

这篇文章主要介绍了使用java实现微信公众平台自定义菜单的创建示例代码,需要的朋友可以参考下

代码如下:import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.net.HttpURLConnection;import java.net.MalformedURLException;import java.net.URL;import org.json.JSONObject;public class MenuUtil { /*** 获得ACCESS_TOKEN * @Title: getAccess_token * @Description: 获得ACCESS_TOKEN * @param @return设定文件 * @return String返回类型 * @throws*/ private static String getAccess_token(){String APPID="";String APPSECRET="";String url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid="+ APPID + "&secret=" +APPSECRET;String accessToken = null;try {URL urlGet = new URL(url);HttpURLConnection http = (HttpURLConnection) urlGet.openConnection();http.setRequestMethod("GET");//必须是get方式请求http.setRequestProperty("Content-Type","application/x-www-form-urlencoded");http.setDoOutput(true);http.setDoInput(true);System.setProperty("sun.net.client.defaultConnectTimeout", "30000");//连接超时30秒System.setProperty("sun.net.client.defaultReadTimeout", "30000"); //读取超时30秒http.connect();InputStream is =http.getInputStream();int size =is.available();byte[] jsonBytes =new byte[size];is.read(jsonBytes);String message=new String(jsonBytes,"UTF-8");JSONObject demoJson = new JSONObject(message);accessToken = demoJson.getString("access_token");System.out.println(message);} catch (Exception e) {e.printStackTrace();}return accessToken;} /*** 创建Menu * @Title: createMenu * @Description: 创建Menu * @param @return * @param @throws IOException设定文件 * @return int返回类型 * @throws*/public static String createMenu() {String menu = "{"button":[{"type":"click","name":"MENU01","key":"1"},{"type":"click","name":"天气查询","key":"西安"},{"name":"日常工作","sub_button":[{"type":"click","name":"待办工单","key":"01_WAITING"},{"type":"click","name":"已办工单","key":"02_FINISH"},{"type":"click","name":"我的工单","key":"03_MYJOB"},{"type":"click","name":"公告消息箱","key":"04_MESSAGEBOX"},{"type":"click","name":"签到","key":"05_SIGN"}]}]}";//此处改为自己想要的结构体,替换即可String access_token= getAccess_token();String action = "https://api.weixin.qq.com/cgi-bin/menu/create?access_token="+access_token;try {URL url = new URL(action);HttpURLConnection http =(HttpURLConnection) url.openConnection();http.setRequestMethod("POST");http.setRequestProperty("Content-Type","application/x-www-form-urlencoded");http.setDoOutput(true);http.setDoInput(true);System.setProperty("sun.net.client.defaultConnectTimeout", "30000");//连接超时30秒System.setProperty("sun.net.client.defaultReadTimeout", "30000"); //读取超时30秒http.connect();OutputStream os= http.getOutputStream();os.write(menu.getBytes("UTF-8"));//传入参数os.flush();os.close();InputStream is =http.getInputStream();int size =is.available();byte[] jsonBytes =new byte[size];is.read(jsonBytes);String message=new String(jsonBytes,"UTF-8");return "返回信息"+message;} catch (MalformedURLException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}return "createMenu 失败";}/*** 删除当前Menu* @Title: deleteMenu* @Description: 删除当前Menu* @param @return设定文件* @return String返回类型* @throws*/public static String deleteMenu(){String access_token= getAccess_token();String action = "https://api.weixin.qq.com/cgi-bin/menu/delete? access_token="+access_token;try {URL url = new URL(action);HttpURLConnection http =(HttpURLConnection) url.openConnection();http.setRequestMethod("GET");http.setRequestProperty("Content-Type","application/x-www-form-urlencoded");http.setDoOutput(true);http.setDoInput(true);System.setProperty("sun.net.client.defaultConnectTimeout", "30000");//连接超时30秒System.setProperty("sun.net.client.defaultReadTimeout", "30000"); //读取超时30秒http.connect();OutputStream os= http.getOutputStream();os.flush();os.close();InputStream is =http.getInputStream();int size =is.available();byte[] jsonBytes =new byte[size];is.read(jsonBytes);String message=new String(jsonBytes,"UTF-8");return "deleteMenu返回信息:"+message;} catch (MalformedURLException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}return "deleteMenu 失败";} public static void main(String[] args) {System.out.println(createMenu()); }}以上就是使用java实现微信公众平台自定义菜单的创建示例代码的详细内容,更多请关注小潘博客其它相关文章!