導航:首頁 > 源碼編譯 > java獲取openid源碼

java獲取openid源碼

發布時間:2022-05-24 19:43:15

① 小程序後台獲取openId解密的java代碼怎麼寫

一、獲取code
將code作為參數傳遞過來
//如果有code,說明是微信小程序,根據code獲取openId
//classify用於標識是哪個小程序
if (!CheckUtil.checkNulls( keUser.getCode(),keUser.getClassify())){
//
String openid = OpenIdUtil.oauth2GetOpenid(keUser.getCode(),keUser.getClassify());
printParamsLog(openid, logger);
keUser.setUserId(openid);
}1234567812345678

二、工具類
package com.util;

import net.sf.json.JSONObject;
import org.apache.http.client.HttpClient;
import org.apache.http.client.ResponseHandler;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.BasicResponseHandler;
import org.apache.http.impl.client.DefaultHttpClient;

import java.util.HashMap;
import java.util.Map;

/**
* @author xsx
*/
public class OpenIdUtil {
public static String oauth2GetOpenid(String code,String classify) {
String appid="";
String appsecret="";
switch (classify){
case "1":
//自己的配置appid
appid = "**********";
//自己的配置APPSECRET;
appsecret = "**********";
break;
case "2":
appid = "**********";
appsecret = "************";
break;
case "3":
appid = "**********";
appsecret = "************";
break;
case "4":
appid = "**********";
appsecret = "************";
break;
case "5":
appid = "**********";
appsecret = "************";
}

//授權(必填)
String grant_type = "authorization_code";
//URL
String requestUrl = "https://api.weixin.qq.com/sns/jscode2session";
//請求參數
String params = "appid=" + appid + "&secret=" + appsecret + "&js_code=" + code + "&grant_type=" + grant_type;
//發送請求
String data = HttpUtil.get(requestUrl, params);
//解析相應內容(轉換成json對象)
JSONObject json = JSONObject.fromObject(data);
//用戶的唯一標識(openid)
String Openid =String.valueOf(json.get("openid"));
//System.out.println(Openid);
return Openid;
}
}
555657585960

三、發送請求的工具類
package com.util;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;
import java.util.List;
import java.util.Map;

/**
* @author xsx
*/
public class HttpUtil {
/**
* 向指定URL發送GET方法的請求
*
* @param url
* 發送請求的URL
* @param param
* 請求參數,請求參數應該是 name1=value1&name2=value2 的形式。
* @return String 所代表遠程資源的響應結果
*/
public static String get(String url,String param){
String result = "";
BufferedReader in = null;
try {
String urlNameString = url + "?" + param;
//System.out.println(urlNameString);
URL realUrl = new URL(urlNameString);
// 打開和URL之間的連接
URLConnection connection = realUrl.openConnection();
// 設置通用的請求屬性
connection.setRequestProperty("accept", "*/*");
connection.setRequestProperty("connection", "Keep-Alive");
connection.setRequestProperty("user-agent",
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
// 建立實際的連接
connection.connect();
// 獲取所有響應頭欄位
Map<String, List<String>> map = connection.getHeaderFields();
// 遍歷所有的響應頭欄位
/*for (String key : map.keySet()) {
System.out.println(key + "--->" + map.get(key));
}*/
// 定義 BufferedReader輸入流來讀取URL的響應
in = new BufferedReader(new InputStreamReader(
connection.getInputStream()));
String line;
while ((line = in.readLine()) != null) {
result += line;
}
} catch (Exception e) {
System.out.println("發送GET請求出現異常!" + e);
e.printStackTrace();
}
// 使用finally塊來關閉輸入流
finally {
try {
if (in != null) {
in.close();
}
} catch (Exception e2) {
e2.printStackTrace();
}
}
return result;
}
}

② java中微信分享鏈接獲取openid,

1 首先,我們需要進入我們的服務號,點擊左側欄開發者中心--->修改網頁授權獲取用戶基本信息的值,假設我們對外的ip為183.33.212.175,tomcat的埠號為8016,這個修改為183.33.212.175:8016。
2 創建WeiXinOauth2Token類。該類具有以下屬性:(自行添加get,set方法)

private String accessToken;

private int expiresIn;

private String refeshToken;

private String openId;

private String scope;
3 調用微信的授權介面

4 然後將redirect_uri進行encode
5 獲取用戶openid

③ JAVA關於微信OpenId獲取問題

如果你不是認證了的服務號,那麼抱歉,你獲得不了用戶的微信號,所以根本判斷不了他是否關注了。如果你是擁有高級介面的服務號,那麼你可以獲得關注用戶OpenID列表和訪問用戶的OpenID,查找一下就能確定是否關注了。

④ OAuth2.0網頁授權微信怎麼用java獲取openid

第一步:用戶同意授權,獲取code 引導用戶進入授權的URL 修改一些參數

在確保微信公眾賬號擁有授權作用域(scope參數)的許可權的前提下(服務號獲得高級介面後,默認帶有scope參數中的snsapi_base和snsapi_userinfo),引導關注者打開如下頁面:

⑤ java怎麼獲取微信的openid

1 首先,我們需要進入我們的服務號,點擊左側欄開發者中心--->修改網頁授權獲取用戶基本信息的值,假設我們對外的ip為183.33.212.175,tomcat的埠號為8016,這個修改為183.33.212.175:8016。
2 創建WeiXinOauth2Token類。該類具有以下屬性:(自行添加get,set方法)

private String accessToken;

private int expiresIn;

private String refeshToken;

private String openId;

private String scope;
3 調用微信的授權介面

https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect
4 然後將redirect_uri進行encode
5 獲取用戶openid
http://blog.csdn.net/u011160656/article/details/41847517

⑥ 如何獲取微信用戶的Openid詳解

1、要獲取openid,必須要通過OAuth2.0來完成網頁授權才能完成的,通過OAuth2.0來完成網頁授權後,在經過用戶許可後,就可以通過授權頁面,獲得用戶的openid

2、如何通過OAuth2.0網頁授權呢?要先通過申請高級介面功能

3、申請通過後,還要做一個授權頁面,引導用戶授權就能獲得openid!

⑦ 你好,看到您提問OAuth2.0網頁授權微信怎麼用java獲取openid

  1. 首先需要在微信後台的網頁授權那邊添加你的信任的域名下地址

  2. 頁面上獲取code參數

    function getQueryString(name){
    var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
    var r = window.location.search.substr(1).match(reg);
    if (r != null) return unescape(r[2]); return null;
    }

var code = "";
$(function(){
code = getQueryString('code');

。。。。。

3.傳入code調用介面獲取openid

public static String oauth2GetOpenid(String code) {
HttpClient client = null;
String result = "";
try {
client = new DefaultHttpClient();
HttpGet httpget = new HttpGet("https://api.weixin.qq.com/sns/oauth2/access_token?appid="+Constant.WECHATAPPID+"&secret="+Constant.WECHATAPPSECRET+"&code="+code+"&grant_type=authorization_code");
ResponseHandler<String> responseHandler = new BasicResponseHandler();
String response = client.execute(httpget, responseHandler);
Object obj = JSONValue.parse(response);
JSONObject jbt = (JSONObject) obj;
result = String.valueOf(jbt.get("openid"));
} catch (Exception e) {
e.printStackTrace();
} finally {
client.getConnectionManager().shutdown();
}
return result;
}

⑧ java怎麼獲取微信的openid

java獲取微信的openid的方法是根據授權code來獲取的,方法如下:
一個Servlet請求 獲取code:
/**
* 根據code取得openId
*
* @param appid 公眾號的唯一標識
* @param secret 公眾號的appsecret密鑰
* @param code code為換取access_token的票據
* @return
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//參數
String code = request.getParameter("code");

if(null != code && !"".equals(code)){
log.info("==============[OAuthServlet]獲取網頁授權code不為空,code="+code);
//根據code換取openId
OAuthInfo oa = WeixinUtil.getOAuthOpenId(Constants.appId,Constants.appSecret,code);
UserInfo info = WeixinUtil.getUserInfo(oa.getAccessToken(), oa.getOpenId());
if(!"".equals(oa) && null != oa){
request.setAttribute("openid", oa.getOpenId());
request.setAttribute("nickname", info.getNickname());
request.getRequestDispatcher("/index.jsp").forward(request, response);

}else{
log.info("==============[OAuthServlet]獲取網頁授權openId失敗!");
}
}else{
log.info("==============[OAuthServlet]獲取網頁授權code失敗!");
}
}

替換相應的APPID APPSECRET SCOPE。
過code換取網頁授權access_token 這里的access_token與基礎獲取的access_token不同

獲取code後,請求以下鏈接獲取access_token:
https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code

具體做法與上面基本一致。更換相對應的值。需要注意的是code可以寫一個Servlet獲取。String code = request.getParameter("code");get/post都可以。
這樣子就會返回一下json格式數據
{
"access_token":"ACCESS_TOKEN",
"expires_in":7200,
"refresh_token":"REFRESH_TOKEN",
"openid":"OPENID",
"scope":"SCOPE"
}

⑨ 小程序後台獲取openId解密的java代碼怎麼寫

小程序後台獲取openId解密的java代碼怎麼寫
//app.js
App({
onLaunch: function() {
wx.login({
success: function(res) {
if (res.code) {
//發起網路請求
wx.request({
url: 'https://test.com/onLogin',
data: {
code: res.code
}
})
} else {
console.log('獲取用戶登錄態失敗!' + res.errMsg)
}
}
});
}
})

閱讀全文

與java獲取openid源碼相關的資料

熱點內容
釣魚黑坑下什麼app 瀏覽:938
windows軟體編譯為linux程序 瀏覽:270
方舟編譯支持應用 瀏覽:422
華為雲伺服器可以遠程別的電腦嗎 瀏覽:7
單片機百度百科 瀏覽:230
安卓回聲效果發簡訊怎麼弄 瀏覽:166
windows7文件夾屬性沒有位置 瀏覽:949
單片機632什麼意思 瀏覽:119
奢侈品哪個app買最便宜 瀏覽:665
編譯原理意思 瀏覽:329
哪裡下載帶有加密版志願二維碼 瀏覽:393
python讀串口 瀏覽:171
Pdf修改文本 瀏覽:660
電力行業縱向加密技術原理 瀏覽:49
活塞壓縮機基礎 瀏覽:706
么解手機的壓縮包 瀏覽:767
如何開通加密貨幣 瀏覽:148
北京修理伺服器雲主機 瀏覽:204
python程序設計主要思路 瀏覽:897
jar包通過如何在伺服器運行 瀏覽:378