微信用户绑定java实例_JAVA开发微信绑定功能
微信現在在國內的使用度還是非常高的,現在差不多的互聯網應用都需要開發微信綁定功能,呃,其實這個功能并不復雜,不過網上的文檔的都寫得太官方、太繁瑣了。
我自己總結了一下,開發微信綁定功能的全過程。盡量說得清晰、明白,便于理解
一、前提準備
1、服務器,包括ip地址:這個我就不說啦,開發互聯網應用,沒有服務器和IP,額,難道你開發的是純客戶端滴?
2、域名:開發互聯網應用不一定需要域名,不過要綁定微信的話,就一定需要域名了。
3、80端口:微信綁定必須用80端口,不能用其他端口
4、微信公眾號:申請一個微信公眾號,拿到 APPID 和 secret
二、開發過程
原理說明:所謂綁定微信,其實就是綁定微信的OPENID,所以需要獲取微信用戶的openid,然后存到我們數據庫里就可以了。獲取openid需要獲取code,獲取code需要appid 和 secret。所以說,綁定微信賬戶,其實需要兩個請求。第一個請求獲取用戶code,第二個請求獲取openid
3、java代碼,獲取code和openid
public void weixin(){
String code? = this.getReqParam("code");
StringBuilder sb = new StringBuilder("https://api.weixin.qq.com/sns/oauth2/access_token");
sb.append("?appid=").append(Const.APPID);
sb.append("&secret=").append(Const.APPSECRET);
sb.append("&code=").append(code);
sb.append("&grant_type=authorization_code");
String accessToken = "0";
String openid????? = "0";
try {
URL urlGet = new URL(sb.toString());
HttpURLConnection http = (HttpURLConnection) urlGet.openConnection();
http.setRequestMethod("GET"); //必須是get方式請求
http.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
http.setDoOutput(true);
http.setDoInput(true);
System.setProperty("sun.net.client.defaultConnectTimeout", "30000");// 連接超時30秒
System.setProperty("sun.net.client.defaultReadTimeout",??? "30000");// 讀取超時30秒
http.connect();
InputStream is = http.getInputStream();
int size = is.available();
byte[] jsonBytes = new byte[size];
is.read(jsonBytes);
String message = new String(jsonBytes, "UTF-8");
JSONObject demoJson = new JSONObject(message);
accessToken = demoJson.getString("access_token");
openid????? = demoJson.getString("openid");
}catch(Exception e){
e.printStackTrace();
}
//保存 openid
……
……
}
4、OVER,把獲取到的openid保存下來就行了,然后下次請求的時候只要將獲取到的openid與數據庫里的openid比較下,就知道微信有沒有綁定過了。
總結
以上是生活随笔為你收集整理的微信用户绑定java实例_JAVA开发微信绑定功能的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 解锁视频编码的前世今生:流媒体产业的隐藏
- 下一篇: 关于pycharm中代码为灰色以及如何调