|
复制代码 代码如下: 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"},"name":"已办工单","key":"02_FINISH"},"name":"我的工单","key":"03_MYJOB"},"name":"公告消息箱","key":"04_MESSAGEBOX"},"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开发微信公众号支付
- 微信公众平台开发实战Java版之微信获取用户基本信息
- java微信公众号开发第一步 公众号接入和access_token管理
- java微信公众号开发(搭建本地测试环境)
- java微信公众号开发案例
- Java微信支付之公众号支付、扫码支付实例
- Java开发微信公众号接收和被动回复普通消息
- Java微信公众平台开发(1) 接入微信公众平台
- Java微信公众平台开发(9) 关键字回复以及客服接口实现
- 微信公众号开发之回复图文消息java代码
(编辑:安卓应用网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|