之前介绍的token是为了验证服务器地址的可用性(可随便填写 一次连接成功之后不再有用)
现在的accessToken是通过appId和appSecret获取的重要凭证
accesstoken:
微信公众平台开发的时候会用到access_token,如:添加自定义菜单的时候需要用到access_token。只有认证过的订阅号或者服务号才能获取access_token。
在微信公众平台接口开发中,Access Token占据了一个很重要的地位,相当于进入各种接口的钥匙,拿到这个钥匙才有调用其他各种特殊接口的权限。
access_token是公众号的全局唯一票据,公众号调用各接口时都需使用access_token。正常情况下access_token有效期为7200秒,重复获取将导致上次获取的access_token失效。
package com.weixin.util;
public class AccessToken {
private String access_token = null;// 获取到的凭证
private String expires_in = null;// 凭证有效时间,单位:秒
public AccessToken() {
super();
}
public AccessToken(String access_token, String expires_in) {
this.access_token = access_token;
this.expires_in = expires_in;
}
public String toString() {
return "AccessToken [access_token=" + access_token + ", expires_in="
+ expires_in + "]";
}
public String getAccess_token() {
return access_token;
}
public void setAccess_token(String access_token) {
this.access_token = access_token;
}
public String getExpires_in() {
return expires_in;
}
public void setExpires_in(String expires_in) {
this.expires_in = expires_in;
}
}<span style="font-size:18px;"><strong>
</strong></span>
二:微信号的appId和appSecret放在一个类中(也可以不单独写)package com.weixin.util;
/**
* 这是微信基础信息类,在这个类中,说明微信公众账号的相关信息。
* @author Administrator
*
*/
public class WX_Info {
public static String APPID = "wxad2552796bf88e3b";
public static String SECRET = "b6f44e78da6d8e733695edea39758646";
}
三:获取accessToken
package com.weixin.util;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import com.weixin.util.AccessToken;
import com.google.gson.Gson;
public class WX_Token {
public static AccessToken getAccessTokenByNet(){
/*返回的accessToken*/
AccessToken accessToken = null;
/*得到的网络信息*/
StringBuffer strb = new StringBuffer();
HttpURLConnection connection = null;
//这是微信得到url_AccessToken所需的url
String url_AccessToken = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid="+WX_Info.APPID+"&secret="+WX_Info.SECRET;
try {
//得到AccessToken的URL
URL url = new URL(url_AccessToken);
//打开url
connection = (HttpURLConnection)url.openConnection();
//打开连接
connection.connect();
//得到InputStream
InputStream in = connection.getInputStream();
//得到InputStreamReader
InputStreamReader reader = new InputStreamReader(in);
//得到BufferedReader
BufferedReader breader = new BufferedReader(reader);
String str = null;
/*读取网络信息*/
while(null != (str = breader.readLine())){
strb.append(str);
}
//关闭breader
breader.close();
//关闭reader
reader.close();
//关闭in
in.close();
Gson gson = new Gson();
accessToken = gson.fromJson(strb.toString(), AccessToken.class);
} catch (Exception e) {
e.printStackTrace();
}
if(null!=connection){
connection.disconnect();
}
return accessToken;
}
}