package wjb.idcard; import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import org.json.JSONObject; /** * @Description 获取token类(API文档-V3)注意:access_token的有效期为30天,切记需要每30天进行定期更换,或者每次请求都拉取新token * @类的名称:AuthService.java * @author 吴江波(QQ:1134135987@qq.com) @version:V1.18.0.1 * @创建时间:2018年9月11日 下午1:01:21 * @版权:Copyright © 2018 wujiangbo. All Rights Reserved. */ public class AuthService { public static void main(String[] args) { System.out.println(getAuth()); } /** * 获取权限token * * @return 返回示例: { "access_token": "24.460da4889caad24cccdb1fea17221975.2592000.1491995545.282335-1234567", "expires_in": 2592000 } */ public static String getAuth() { // 官网获取的 API Key 更新为你注册的 String clientId = ""; // 官网获取的 Secret Key 更新为你注册的 String clientSecret = ""; return getAuth(clientId, clientSecret); } /** * 获取API访问token 该token有一定的有效期,需要自行管理,当失效时需重新获取. * * @param ak * - 百度云官网获取的 API Key * @param sk * - 百度云官网获取的 Securet Key * @return assess_token 示例: "24.460da4889caad24cccdb1fea17221975.2592000.1491995545.282335-1234567" */ private static String getAuth(String ak, String sk) { // 获取token地址 String authHost = "https://aip.baidubce.com/oauth/2.0/token?"; String getAccessTokenUrl = authHost // 1. grant_type为固定参数 + "grant_type=client_credentials" // 2. 官网获取的 API Key + "&client_id=" + ak // 3. 官网获取的 Secret Key + "&client_secret=" + sk; try { URL realUrl = new URL(getAccessTokenUrl); // 打开和URL之间的连接 HttpURLConnection connection = (HttpURLConnection) realUrl.openConnection(); connection.setRequestMethod("GET"); connection.connect(); // 获取所有响应头字段 // Map<String, List<String>> map = connection.getHeaderFields(); // 遍历所有的响应头字段 // for (String key : map.keySet()) { // System.err.println(key + "--->" + map.get(key)); // } // 定义 BufferedReader输入流来读取URL的响应 BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream())); String result = ""; String line; while ((line = in.readLine()) != null) { result += line; } /** * 返回结果示例 */ // System.err.println("result:" + result); JSONObject jsonObject = new JSONObject(result); String access_token = jsonObject.getString("access_token"); // System.out.println("access_token:"+access_token); return access_token; } catch (Exception e) { System.err.printf("获取token失败!"); e.printStackTrace(System.err); } return null; } }
最近下载更多
coolcool123 LV1
3月17日
lironggang LV38
2023年4月27日
97622282 LV1
2022年6月7日
王伟杰 LV2
2021年11月12日
淮竹 LV1
2021年10月13日
我是桃子呀 LV3
2021年7月14日
jokerYao LV1
2020年11月27日
cas LV9
2020年9月21日
sakura_fc LV1
2020年9月10日
wanhaiq LV3
2020年7月2日
最近浏览更多
微笑刺客 LV19
5月30日
coolcool123 LV1
3月17日
liyonggang LV2
1月19日
miaoshi LV16
1月3日
837055744
2023年7月20日
暂无贡献等级
2017143155 LV12
2023年6月27日
lironggang LV38
2023年4月27日
nsq0006 LV6
2023年3月3日
lc4519 LV3
2023年3月3日
uni-code_0123 LV1
2023年1月10日