Copie el código de código de la siguiente manera:
importar java.io.IOException;
importar java.io.InputStream;
importar java.io.OutputStream;
importar java.net.HttpURLConnection;
importar java.net.MalformedURLException;
importar java.net.URL;
importar org.json.JSONObject;
clase pública MenuUtil {
/**
* Obtener ACCESS_TOKEN
* @Título: getAccess_token
* @Descripción: Obtener ACCESS_TOKEN
* @param @return archivo de configuración
* @return Tipo de retorno de cadena
* @lanzamientos
*/
Cadena estática privada getAccess_token(){
Cadena APPID="";
Cadena APPSECRET="";
URL de cadena = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid="+ APPID + "&secret=" +APPSECRET;
Cadena accessToken = nulo;
intentar {
URL URLGet = nueva URL(url);
HttpURLConnection http = (HttpURLConnection) urlGet.openConnection();
http.setRequestMethod("GET"); //Debe ser una solicitud de obtención
http.setRequestProperty("Tipo de contenido","aplicación/x-www-form-urlencoded");
http.setDoOutput(verdadero);
http.setDoInput(verdadero);
System.setProperty("sun.net.client.defaultConnectTimeout", "30000");//Tiempo de espera de conexión 30 segundos
System.setProperty("sun.net.client.defaultReadTimeout", "30000"); //El tiempo de espera de lectura es de 30 segundos.
http.conectar();
InputStream es =http.getInputStream();
int tamaño = está.disponible();
byte[] jsonBytes =nuevo byte[tamaño];
es.read(jsonBytes);
Mensaje de cadena = nueva cadena (jsonBytes, "UTF-8");
JSONObject demoJson = nuevo JSONObject(mensaje);
accessToken = demoJson.getString("access_token");
System.out.println(mensaje);
} captura (Excepción e) {
e.printStackTrace();
}
devolver token de acceso;
}
/**
*CrearMenú
* @Título: crearMenú
* @Descripción: Crear menú
* @param @return
* @param @throws archivo de configuración IOException
* @return int tipo de retorno
* @lanzamientos
*/
Cadena estática pública createMenu() {
Menú de cadena = "{/"botón/":[{/"tipo/":/"hacer clic/",/"nombre/":/"MENU01/",/"tecla/":/"1/"},{/" escriba/":/"clic/",/"nombre/":/"Consulta meteorológica/",/"clave/":/" Xi'an/"},{/"nombre/":/"Trabajo diario/",/"sub_button/":[{/"tipo/":/"clic/",/"nombre/":/"Para -trabajar single/",/"key/":/"01_WAITING/"},{/"type/":/"cl ick/",/"name/":/"Orden de trabajo procesada/",/"key/":/"02_FINISH/"},{/"type/":/"click/",/"name/" : /"Mi orden de trabajo/",/"key/":/"03_MYJOB/"},{/"type/": /"click/",/"name/":/"Cuadro de mensaje de anuncio/",/"key/":/"04_MESSAGEBOX/"},{/"type/":/"click/",/"name/ ":/"Iniciar sesión/",/"clave/":/"05_SIGN/"}]}]}";
//Cambie aquí a la estructura que desee y simplemente reemplácela
Cadena access_token= getAccess_token();
Acción de cadena = "https://api.weixin.qq.com/cgi-bin/menu/create?access_token="+access_token;
intentar {
URL URL = nueva URL (acción);
HttpURLConnection http = (HttpURLConnection) url.openConnection();
http.setRequestMethod("POST");
http.setRequestProperty("Tipo de contenido","aplicación/x-www-form-urlencoded");
http.setDoOutput(verdadero);
http.setDoInput(verdadero);
System.setProperty("sun.net.client.defaultConnectTimeout", "30000");//Tiempo de espera de conexión 30 segundos
System.setProperty("sun.net.client.defaultReadTimeout", "30000"); //El tiempo de espera de lectura es de 30 segundos.
http.conectar();
Sistema operativo OutputStream= http.getOutputStream();
os.write(menu.getBytes("UTF-8"));//Pasar parámetros
os.flush();
os.cerrar();
InputStream es =http.getInputStream();
int tamaño = está.disponible();
byte[] jsonBytes =nuevo byte[tamaño];
es.read(jsonBytes);
Mensaje de cadena = nueva cadena (jsonBytes, "UTF-8");
devolver "información de devolución"+mensaje;
} captura (MalformedURLException e) {
e.printStackTrace();
} captura (IOException e) {
e.printStackTrace();
}
devolver "createMenu falló";
}
/**
* Eliminar menú actual
* @Título: eliminarMenú
* @Descripción: Eliminar el menú actual
* @param @return archivo de configuración
* @return Tipo de retorno de cadena
* @lanzamientos
*/
cadena estática pública eliminarMenú()
{
Cadena access_token= getAccess_token();
Acción de cadena = "https://api.weixin.qq.com/cgi-bin/menu/delete? access_token="+access_token;
intentar {
URL URL = nueva URL (acción);
HttpURLConnection http = (HttpURLConnection) url.openConnection();
http.setRequestMethod("OBTENER");
http.setRequestProperty("Tipo de contenido","aplicación/x-www-form-urlencoded");
http.setDoOutput(verdadero);
http.setDoInput(verdadero);
System.setProperty("sun.net.client.defaultConnectTimeout", "30000");//Tiempo de espera de conexión 30 segundos
System.setProperty("sun.net.client.defaultReadTimeout", "30000"); //El tiempo de espera de lectura es de 30 segundos.
http.conectar();
Sistema operativo OutputStream= http.getOutputStream();
os.flush();
os.cerrar();
InputStream es =http.getInputStream();
int tamaño = está.disponible();
byte[] jsonBytes =nuevo byte[tamaño];
es.read(jsonBytes);
Mensaje de cadena = nueva cadena (jsonBytes, "UTF-8");
return "deleteMenu devuelve mensaje:"+mensaje;
} captura (MalformedURLException e) {
e.printStackTrace();
} captura (IOException e) {
e.printStackTrace();
}
devolver "error en la eliminación del menú";
}
público estático vacío principal (String [] argumentos) {
System.out.println(createMenu());
}
}