項目中獲取第三方的token


private void initData(){
        //初始化數據
        System.out.println("從第三方獲取數據開始");
        //獲取token令牌
        Map<String, Object> token = getToken();
        String access_token = StringHelper.null2String(token.get("accessToken"));
        String expiresIn = StringHelper.null2String(token.get("expiresIn"));
        System.out.println("----access_token----"+access_token);
    }
    private Map<String,Object> getToken(){
        Map<String,Object> map=new HashMap<String,Object>();
        String url = "http://192.168.19.214:8081/api/outh2/token.json?appid=8a01b653107a409196d545a59c4fabb0&secret=6ad596f785f14c31af20321a7d37ab02";
        String tokenResponse=HttpUtils.getRemoteData(url);
        JSONObject parse=JSONArray.parseObject(tokenResponse);
        String accessToken=StringHelper.null2String(parse.get("accessToken"));
        String expiresIn=StringHelper.null2String(parse.getString("expiresIn"));
        map.put("accessToken",accessToken);
        map.put("expiresIn",expiresIn);
        return map;
    }

其中通過鏈接獲取數據的方法

    public static String getRemoteData(String uri) {
        CloseableHttpClient httpclient = HttpClients.createDefault();
        HttpGet httpGet=new HttpGet(uri);
        HttpParams httpParams = new BasicHttpParams();
        httpParams.setIntParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, CONNECTION_TIMEOUT);
        httpParams.setIntParameter(CoreConnectionPNames.SO_TIMEOUT, SO_TIMEOUT);
        CloseableHttpResponse response = null;
        try {
            response = httpclient.execute(httpGet);
            if (response.getStatusLine().getStatusCode() == 200) {
                String content = EntityUtils.toString(response.getEntity(),    "UTF-8");
                return content;
            }
        } catch (ClientProtocolException e) {
            e.printStackTrace();
        }catch (ConnectTimeoutException e){
            log.error("請求連接轉換服務超時!"+e.getMessage());
        }catch (HttpHostConnectException e){
            log.error("請求連接轉換服務異常!"+e.getMessage());
        }catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (response != null) {
                try {
                    response.close();
                    httpclient.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
        
        return "";
    }

 如果第三方接口中放回的是多個對象,獲取其中的data數據可以用下面的方法

String orgUrl="http://192.168.19.51:8080/system/rest/orgs?systemCode=cyyzsk&token="+token;
        String orgResponse=HttpUtils.getRemoteData(orgUrl);
        JSONObject orgParse= JSONArray.parseObject(orgResponse); JSONObject orgData=orgParse.getJSONObject("data");

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM