当前位置:首页 > PHP教程 > php高级应用 > 列表

微信公众平台自定义菜单开发示例

发布:smiling 来源: PHP粉丝网  添加日期:2014-01-09 20:41:44 浏览: 评论:0 

微信公众平台推出一自定义菜单功能,我们可以简单的直接在后台编辑自定义菜单,也可以利用api来设置菜单,下面我来介绍一下操作方法

腾讯微信3月19日正式公布公众平台自定义菜单功能,目前该功能仅提供给企业和机构,且内测资格需要申请,对于这一新增功能,目前仅有少数账号已经开通,至此,微信的商业化价值被进一步挖掘出来。

开发者可利用该功能为公众账号的会话界面底部增加自定义菜单,用户点击菜单中的选项,可以调出相应的回复信息或网页链接。

菜单创建,接口说明,通过POST一个特定结构体,实现在微信客户端创建自定义菜单。

请求说明,http请求方式:POST

https://api.weixin.qq.com/cgi-bin/menu/create?access_token=ACCESS_TOKEN

结构体其实就是一个json格式的字符串,相信很多朋友就卡在这里了,怎么往这个接口地址 post 一个结构体呢,实现代码如下:

  1. public static void main(String[] args) throws Exception {  
  2.     URL url = new URL("https://api.weixin.qq.com/cgi-bin  
  3.                                  /menu/create?access_token=TOKEN");  
  4.         String responeJsonStr = "{"+  
  5.                                      ""button":["+  
  6.                                      "{"name":"酒店预订","+  
  7.                                      ""sub_button":["+  
  8.                              "{"+  
  9.                                 ""type":"click","+  
  10.                                 ""name":"附近酒店","+  
  11.                                 ""key":"jintoneinn488878-1""+  
  12.                             "},"+  
  13.                             "{"+  
  14.                                 ""type":"click","+  
  15.                                 ""name":"查找酒店","+  
  16.                                 ""key":"jintoneinn488878-2""+  
  17.                             "}"+  
  18.                         "]"+  
  19.                     "}" 
  20.                 "]"+  
  21.             "}";  
  22.         HttpURLConnection conn = (HttpURLConnection) url.openConnection();  
  23.         conn.setRequestMethod("POST");  
  24.         conn.setDoOutput(true);  
  25.         conn.connect();  
  26.         conn.getOutputStream().write(responeJsonStr.getBytes("utf-8"));  
  27.         InputStream is = conn.getInputStream();  
  28.         BufferedReader in = new BufferedReader(new InputStreamReader(is,"utf-8"));  
  29.         StringBuffer buffer = new StringBuffer();  
  30.         String line = "";  
  31.         while ((line = in.readLine()) != null) {  
  32.             buffer.append(line);  
  33.         }  
  34.         System.out.println(buffer.toString());   
  35.     } 
菜单查询,接口说明,查询当前使用的自定义菜单结构.

请求说明,http请求方式:GET

https://api.weixin.qq.com/cgi-bin/menu/get?access_token=ACCESS_TOKEN

返回说明,对应创建接口,正确的Json返回结果,代码如下:

  1. {"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"}

Tags: 公众 平台 自定义

分享到: