java调用百度api完成人脸识别

这篇博客介绍了如何使用Java调用百度API进行人脸识别。首先,新建Java项目并创建lib目录,添加必要的jar包。接着,通过GsonUtils和HttpUtil类与百度API交互,最后编写测试类运行以查看识别结果。
摘要由CSDN通过智能技术生成

前言

这是我学习java调用百度api发布的第三篇博客,有关如何创建应用,快速入门获取token令牌请看我前两篇,谢谢

第一步

新建一个普通的java项目即可

然后在项目中新建一个lib目录(需要引入5个jar包)

这里有4个

SDK下载_文字识别SDK_语音识别SDK-百度AI开放平台

还有一个gson的jar包在这里

https://mvnrepository.com/artifact/com.google.code.gson/gson/2.8.8 

 

把他们解压完复制到lib目录,然后点击添加为库

 

可以打开扩展就是添加成功,然后建好项目结构,可以参考一下我的项目结构

然后让我们开始学代码吧!

AuthService类
package com.baidu.aip.aiFaceTest.getToken;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Calendar;
import java.util.List;
import java.util.Map;
import org.json.JSONObject;
/**
 * 获取token类
 * 
 * token过期处理 2018.10.24 16:34 参考官方jar
 */
public class AuthService {
 
	/**
	 * 判断token是否过期
	 */
	private static Calendar expireDate = null;
	private static boolean flag = false; // 是否已经获取过了
 
	public static Boolean needAuth() {
		Calendar c = Calendar.getInstance();
		c.add(5, 1); // 当前日期加一天
		return Boolean.valueOf(!flag || c.after(expireDate));
	}
 
	/**
	 * 获取权限token
	 * 
	 * @return 返回示例: { "access_token":
	 *         "24.460da4889caad24cccdb1fea17221975.2592000.1491995545.282335-1234567",
	 *         "expires_in": 2592000 }
	 */
	public static String getAuth() {
		// 官网获取的 API Key 更新为你注册的
		String clientId = "AN8QlNlAVyG2IFM86rXgloGD";
		// 官网获取的 Secret Key 更新为你注册的
		String clientSecret = "EgesHPy9csiT31HTp6QE2hCtTanVWlDc";
 
		flag = true;
 
		return getAuth(clientId, clientSecret);
	}
 
	/**
	 * 获取API访问token 该token有一定的有效期,需要自行管理,当失效时需重新获取.
	 * @param clientId  - 百度云官网获取的 API Key         
	 * @param clientSecret - 百度云官网获取的 Securet Key       
	 * @return assess_token   
	 */
	private static String getAuth(String clientId, String clientSecret) {
		// 获取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=" + clientId
				// 3. 官网获取的 Secret Key
				+ "&client_secret=" + clientSecret;
 
		try {
			URL realUrl = new URL(getAccessTokenUrl);
			// 打开和URL之间的连接
			HttpURLConnection connection = (HttpURLConnection) realUrl.openConnection();
			connection.setRequestMethod("POST");
			connection.connect();
 
			// 获取所有响应头字段
			Map<String, List<St
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值