微信開發系列(四)_獲取accessToken
阿新 • • 發佈:2019-01-24
之前介紹的token是為了驗證伺服器地址的可用性(可隨便填寫 一次連線成功之後不再有用)
現在的accessToken是通過appId和appSecret獲取的重要憑證
accesstoken:
微信公眾平臺開發的時候會用到access_token,如:新增自定義選單的時候需要用到access_token。只有認證過的訂閱號或者服務號才能獲取access_token。
在微信公眾平臺介面開發中,Access Token佔據了一個很重要的地位,相當於進入各種介面的鑰匙,拿到這個鑰匙才有呼叫其他各種特殊介面的許可權。
access_token是公眾號的全域性唯一票據,公眾號呼叫各介面時都需使用access_token。正常情況下access_token有效期為7200秒,重複獲取將導致上次獲取的access_token失效。
二:微訊號的appId和appSecret放在一個類中(也可以不單獨寫)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>
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; } }