项目中获取第三方的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