微信公眾平台推出一自定義菜單功能,我們可以簡單的直接在後台編輯自定義菜單,也可以利用api來設置菜單,下面我來介紹一下操作方法
騰訊微信3月19日正式公布公眾平台自定義菜單功能。目前該功能僅提供給企業和機構,且內測資格需要申請。對於這一新增功能,目前僅有少數賬號已經開通。至此,微信的商業化價值被進一步挖掘出來。
開發者可利用該功能為公眾賬號的會話界面底部增加自定義菜單。用戶點擊菜單中的選項,可以調出相應的回復信息或網頁鏈接。
菜單創建
接口說明
通過POST一個特定結構體,實現在微信客戶端創建自定義菜單。
請求說明
http請求方式:POST
https://api.weixin.qq.com/cgi-bin/menu/create?access_token=ACCESS_TOKEN
結構體其實就是一個json格式的字符串,相信很多朋友就卡在這裡了,怎麼往這個接口地址 post 一個結構體呢,實現代碼如下:
代碼如下 復制代碼public static void main(String[] args) throws Exception {
URL url = new URL("https://api.weixin.qq.com/cgi-bin
/menu/create?access_token=TOKEN");
String responeJsonStr = "{"+
""button":["+
"{"name":"酒店預訂","+
""sub_button":["+
"{"+
""type":"click","+
""name":"附近酒店","+
""key":"jintoneinn488878-1""+
"},"+
"{"+
""type":"click","+
""name":"查找酒店","+
""key":"jintoneinn488878-2""+
"}"+
"]"+
"}"
"]"+
"}";
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
conn.setDoOutput(true);
conn.connect();
conn.getOutputStream().write(responeJsonStr.getBytes("utf-8"));
InputStream is = conn.getInputStream();
BufferedReader in = new BufferedReader(new InputStreamReader(is,"utf-8"));
StringBuffer buffer = new StringBuffer();
String line = "";
while ((line = in.readLine()) != null) {
buffer.append(line);
}
System.out.println(buffer.toString());
}
菜單查詢
接口說明
查詢當前使用的自定義菜單結構。
請求說明
http請求方式:GET
https://api.weixin.qq.com/cgi-bin/menu/get?access_token=ACCESS_TOKEN
返回說明
對應創建接口,正確的Json返回結果:
代碼如下 復制代碼{"menu":{"button":[{"type":"click","name":"今日歌曲","key":"V1001_TODAY_MUSIC","sub_button":[]},{"type":"click","name":"歌手簡介","key":"V1001_TODAY_SINGER","sub_button":[]},{"name":"菜單","sub_button":[{"type":"click","name":"hello word","key":"V1001_HELLO_WORLD","sub_button":[]},{"type":"click","name":"贊一下我們","key":"V1001_GOOD","sub_button":[]}]}]}}
菜單刪除
接口說明
取消當前使用的自定義菜單。
請求說明
http請求方式:GET
https://api.weixin.qq.com/cgi-bin/menu/delete?access_token=ACCESS_TOKEN
返回說明
對應創建接口,正確的Json返回結果:
代碼如下 復制代碼 {"errcode":0,"errmsg":"ok"}