栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

百度ai人脸 学习(java向)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

百度ai人脸 学习(java向)

快速入门

参考官方案例(https://ai.baidu.com/ai-doc/ANTIPORN/ik3h6xdze)

第一步:下载java sdk

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

接下来先使用来写第一个入门案例——获取百度AI Token

         

我使用的IDEA开发工具,新建一个普通的java项目即可

然后注意下一张圈起来的部分,要新建一个lib目录,然后把刚才的压缩文件解压完,全部复制到lib里面

 

然后还有右键选择添加为库,看到jar包左边有一些三角形可扩展按钮导入完成jar包了

然后如图建好项目结构

并新建好我们的入门类

 

 

 然后复制以下代码

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;

public class AuthService {
 
	
	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));
	}
 
	
	public static String getAuth() {
		// 官网获取的 API Key 更新为你注册的
		String clientId = " 更新为你注册的";
		// 官网获取的 Secret Key 更新为你注册的
		String clientSecret = " 更新为你注册的";
 
		flag = true;
 
		return getAuth(clientId, clientSecret);
	}
 
	
	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> 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");
 
			Integer expires_in = Integer.valueOf(jsonObject.getInt("expires_in"));
 
			System.out.println("expires_in:" + expires_in);
 
			Calendar c = Calendar.getInstance();
			System.out.println("现在日期:" + c.get(c.YEAR) + "/" + c.get(c.MONTH) + "/" + c.get(c.DAY_OF_MONTH));
			c.add(13, expires_in.intValue());
			System.out.println("过期日期:" + c.get(c.YEAR) + "/" + c.get(c.MONTH) + "/" + c.get(c.DAY_OF_MONTH));
			expireDate = c;
 
			return access_token;
 
		} catch (Exception e) {
			System.err.printf("获取token失败!");
			e.printStackTrace(System.err);
		}
		return null;
	}
 
	public static void main(String[] args) {
 
		System.out.println("flag:" + flag);
		
		System.out.println("needAuth():" + needAuth().booleanValue());
		
		//第一次请求
		if (needAuth().booleanValue()) {
			String access_token = getAuth();
			
			System.out.println("flag:" + flag);
			
			System.out.println("access_token:" + access_token);
		} else {
			System.out.println("token未过期,不需要重新获取");
		}
		
		//第二次请求
		if (needAuth().booleanValue()) {
			String access_token = getAuth();
			
			System.out.println("flag:" + flag);
			
			System.out.println("access_token:" + access_token);
		} else {
			System.out.println("token未过期,不需要重新获取");
		}
 
	}
 
}

要注意你的clientId和clientSecret要更换为你的应用的apikey 和secret key

如图

 

 然后点击运行即可获取你的token信息

 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/301492.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号