java实现微信创建菜单_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实现微信创建菜单_java实现微信公众平台自定义菜单的创建示例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java锁 优先级_详解Java的线程的
- 下一篇: java cellformat_java