java实现微公众平台自定义菜单.doc
文本预览下载声明
java实现微公众平台自定义菜单
----------------------疯狂软件java培训分享---------------------
广州疯狂软件学院拥有三大课程体系包括:java课程,android课程,ios课程,疯狂软件年终钜惠,报名java就业班,免费赠送基础班,名额有限,本月火热报名中,欢迎有志之士电话或者QQ咨询。
微信前好久就已经退出了自定义菜单的创建,并且这次不想以前一样还需要申请,一申请就需要好几天,这次只需要将你的微信公众平台申请成为服务号即可,既然说到这,那我我也顺便说说,服务号和订阅号到底有什么区别,服务号就是为大众说服务的,而订阅好着重为大众提供咨询,于是官方为了体现这两者的不同,就给了服务号自定义菜单的权利,而给了订阅号,每天一条主动推送的权利(服务号每月一条)。
好了,不废话了,今天主要教大家怎样去实现微信的自定义菜单,先大概介绍一下真个流程,首先我们通过申请服务号时得到的appid和appsecret来申请到ACCESS_TOKEN,然后通过ACCESS_TOKEN创建自定义菜单。
一。ACCESS_TOKEN,这个玩意是创建自定义菜单的核心
1.ACCESS_TOKEN是什么,是对应于公众号是全局唯一的票据,说白了,他是你访问微信服务器的临时凭据,证明你是一个服务号开发者。
2.怎样得到ACCESS_TOKEN?填写URL和TOKEN下面的地方的有appid和appsecret。注意:(这两个东西,必须在申请为服务号过后才可以得到),在你的程序里,需要通过get方式获取/cgi-bin/token?
grant_type=client_credentialappid=APPIDsecret=APPSECRET链接,里边的appid和appsecret是你自己申请服务号时得到的。结果会返回{access_token:ACCESS_TOKEN,expires_in:7200}
具体代码如下:
Java代码
StringBuffer bufferRes = new StringBuffer();
try { //这里填入你的appid和appsecret
URL realUrl = new URL(/cgi-bin/token?grant_+
type=client_credentialappid=?secret=?);
HttpURLConnection conn = (HttpURLConnection) realUrl.openConnection();
// 读取超时 --服务器响应比较慢,增大时间,这个一般不会出现,不过写一写会比较好
conn.setReadTimeout(25000);
HttpURLConnection.setFollowRedirects(true);
// 设置请求方式
conn.setRequestMethod(GET);
conn.setDoOutput(true);
conn.setDoInput(true);
//进行连接
conn.connect();
//获取并封装读入流
InputStream in = conn.getInputStream();
BufferedReader read = new BufferedReader(new InputStreamReader(in,UTF-8));
String returnString = null;
//读出返回码
while ((returnString =read.readLine())!=null){
bufferRes.append(returnString );
}
String a = bufferRes.toString();
//从返回码中,获取到
Config.ACCESS_TOKEN = a.substring(17, a.length()-20);
in.close();
if (conn != null) {
// 关闭连接
conn.disconnect();
}
} catch (Exception e) {
e.printStackTrace();
}
如上述代码所示,我们就获取到了ACCESS_TOKEN,不过官方给出的说明是,这个ACCESS_TOKEN会在2小时后失效。返回格式里边的ACCESS_TOKEN就是我们所需要的了,所以我们直接截取从17至倒数20(不信你就去数一数)。特别注意:TOKEN和ACCESS_TOKEN是不同的两个东西,因为我在这上面犯
显示全部