本文介绍了调用视频实人认证的Java SDK调用示例。
前提条件
- 已注册阿里云账号并获取AccessKey ID和AccessKey Secret。更多信息,请参见阿里云账号注册流程及创建AccessKey。
- 需要Java SDK版本在1.8版本及以上。
支持OSS方式和本地文件方式上传(推荐)
安装Java SDK之前,请先获取Java SDK包。
- 使用Maven引入SDK:
<dependency> <groupId>com.aliyun</groupId> <artifactId>cloudauth20190307</artifactId> <version>1.0.0</version> </dependency>
- 使用OSS示例:
import com.aliyun.cloudauth20190307.Client; import com.aliyun.cloudauth20190307.models.ContrastFaceVerifyRequest; import com.aliyun.cloudauth20190307.models.ContrastFaceVerifyResponse; import com.aliyun.tearpc.models.Config; import com.aliyun.teautil.models.RuntimeOptions; public class ContrastFaceVerifyTest { public static void main(String[] args) throws Exception { // 通过以下代码创建Config实例并初始化。 Config config = new Config(); // 您的AccessKey ID。 config.setAccessKeyId("AccessKey"); // 您的AccessKey Secret。 config.setAccessKeySecret("AccessSecret"); // 设置Endpoint,IPv6为:cloudauth-dualstack.aliyuncs.com。 config.setEndpoint("cloudauth.aliyuncs.com"); // 设置RegionID,RegionID为固定值。 config.setRegionId("cn-hangzhou"); // 设置http代理。 //config.setHttpProxy("http://xxx.xxx.xxx.xxx:9999"); // 设置https代理。 //config.setHttpsProxy("https://username:password@xxx.xxx.xxx.xxx:9999"); Client client = new Client(config); // 通过以下代码创建RuntimeObject实例并设置运行参数。 RuntimeOptions runtime = new RuntimeOptions(); // 设置不自动重试 runtime.autoretry = false; // 设置连接超时时间(单位ms)。 runtime.readTimeout = 10000; // 设置调用超时时间(单位ms)。 runtime.connectTimeout = 10000; // 通过以下代码创建API请求并设置参数。 ContrastFaceVerifyRequest request = new ContrastFaceVerifyRequest(); request.setSceneId(200xxxxL); // 设置商户请求的唯一标识。 request.setOuterOrderNo("xxxx"); // 认证方案,固定值。 request.setProductCode("ID_MIN_VIDEO"); // 固定值。 request.setCertType("IDENTITY_CARD"); // 姓名。 request.setCertName("张三"); // 18位身份证号。 request.setCertNo("123456199012264321"); // 活体检测类型。 request.setModel("FRONT_CAMERA_LIVENESS"); // 设置OSS视频文件信息。 request.setOssBucketName("cn-shanghai-aliyun-cloudauth-12xxxxxx"); request.setOssObjectName("test.mp4"); // 通过以下代码发起请求并处理应答和异常。 try { ContrastFaceVerifyResponse response = client.contrastFaceVerify(request, runtime); System.out.println(response.getRequestId()); System.out.println(response.getCode()); System.out.println(response.getMessage()); System.out.println(response.getResultObject().getPassed()); System.out.println(response.getResultObject().getSubCode()); System.out.println(response.getResultObject().getMaterialInfo()); System.out.println(response.getResultObject().getIdentityInfo()); } catch (TeaException e) { System.out.println(e.getCode()); System.out.println(e.getData()); System.out.println(e.getMessage()); e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } } }
- 使用本地文件示例:
import java.io.FileInputStream; import java.io.InputStream; import com.aliyun.cloudauth20190307.Client; import com.aliyun.cloudauth20190307.models.ContrastFaceVerifyAdvanceRequest; import com.aliyun.cloudauth20190307.models.ContrastFaceVerifyResponse; import com.aliyun.tea.TeaException; import com.aliyun.tearpc.models.Config; import com.aliyun.teautil.models.RuntimeOptions; public class ContrastFaceVerifyAdvanceTest { public static void main(String[] args) throws Exception { // 通过以下代码创建Config实例并初始化。 Config config = new Config(); // 您的AccessKey ID。 config.setAccessKeyId("AccessKey"); // 您的AccessKey Secret。 config.setAccessKeySecret("AccessSecret"); // 设置Endpoint,IPv6为:cloudauth-dualstack.aliyuncs.com。 config.setEndpoint("cloudauth.aliyuncs.com"); // 设置RegionID,RegionID为固定值。 config.setRegionId("cn-hangzhou"); // 设置http代理。 //config.setHttpProxy("http://xxx.xxx.xxx.xxx:9999"); // 设置https代理。 //config.setHttpsProxy("https://username:password@xxx.xxx.xxx.xxx:9999"); Client client = new Client(config); // 通过以下代码创建RuntimeObject实例并设置运行参数。 RuntimeOptions runtime = new RuntimeOptions(); // 设置不自动重试 runtime.autoretry = false; // 设置连接超时时间(单位ms)。 runtime.readTimeout = 10000; // 设置调用超时时间(单位ms)。 runtime.connectTimeout = 10000; // 通过以下代码创建API请求并设置参数。 ContrastFaceVerifyAdvanceRequest request = new ContrastFaceVerifyAdvanceRequest(); request.setSceneId(200xxxxL); // 设置商户请求的唯一标识。 request.setOuterOrderNo("xxxx"); // 认证方案,固定值。 request.setProductCode("ID_MIN_VIDEO"); // 固定值。 request.setCertType("IDENTITY_CARD"); // 姓名。 request.setCertName("张三"); // 18位身份证号 request.setCertNo("123456199012264321"); // 活体检测类型。 request.setModel("FRONT_CAMERA_LIVENESS"); request.setIp("用户IP地址"); request.setMobile("用户手机号"); request.setDeviceToken("通过设备指纹获取的deviceToken"); request.setUserId("用户ID"); // 设置本地文件路径。 InputStream inputStream = new FileInputStream("test.mp4"); request.setFaceContrastFileObject(inputStream); // 通过以下代码发起请求并处理应答或异常。 try { ContrastFaceVerifyResponse response = client.contrastFaceVerifyAdvance(request, runtime); System.out.println(response.getRequestId()); System.out.println(response.getCode()); System.out.println(response.getMessage()); System.out.println(response.getResultObject().getPassed()); System.out.println(response.getResultObject().getSubCode()); System.out.println(response.getResultObject().getMaterialInfo()); System.out.println(response.getResultObject().getIdentityInfo()); } catch (TeaException e) { System.out.println(e.getCode()); System.out.println(e.getData()); System.out.println(e.getMessage()); e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } // 通过以下代码关闭资源。 inputStream.close(); } }
仅支持OSS方式上传
如需其他语言的SDK示例代码,您可以通过OpenAPI Explorer在线调试工具调试API接口,该工具会自动生成SDK示例代码。
- 使用Maven引入SDK:
<dependency> <groupId>com.aliyun</groupId> <artifactId>aliyun-java-sdk-core</artifactId> <version>4.4.3</version> </dependency> <dependency> <groupId>com.aliyun</groupId> <artifactId>aliyun-java-sdk-cloudauth</artifactId> <version>2.0.22</version> </dependency>
- 使用OSS示例:
DefaultProfile profile = DefaultProfile.getProfile( // 固定为cn-hangzhou。 "cn-hangzhou", // 您的AccessKey ID。 "AccessKeyID", // 您的AccessKey Secret。 "AccessKeySecret"); IAcsClient client = new DefaultAcsClient(profile); ContrastFaceVerifyRequest request = new ContrastFaceVerifyRequest(); request.setSceneId(200xxxxL); // 设置商户请求的唯一标识。 request.setOuterOrderNo("xxxx"); // 认证方案,固定值。 request.setProductCode("ID_MIN_VIDEO"); // 固定值。 request.setCertType("IDENTITY_CARD"); // 姓名。 request.setCertName("张三"); // 18位身份证号。 request.setCertNo("123456199012264321"); // 活体检测类型。 request.setModel("FRONT_CAMERA_LIVENESS"); request.setIp("用户IP地址"); request.setMobile("用户手机号"); request.setDeviceToken("通过设备指纹获取的deviceToken"); request.setUserId("用户ID"); // 设置OSS视频文件信息。 request.setOssBucketName("cn-shanghai-aliyun-cloudauth-12xxxxxx"); request.setOssObjectName("test.mp4"); ContrastFaceVerifyResponse response = client.getAcsResponse(request); System.out.println(response.getCode()); System.out.println(response.getMessage()); System.out.println(response.getRequestId()); System.out.println(response.getResultObject().getPassed()); System.out.println(response.getResultObject().getSubCode()); System.out.println(response.getResultObject().getMaterialInfo()); System.out.println(response.getResultObject().getIdentityInfo());
在文档使用中是否遇到以下问题
更多建议
匿名提交