本文介绍了调用增强版活体验证服务的Java SDK调用示例。

前提条件

使用Maven引入服务依赖。

<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.20</version>
</dependency>

调用示例

DefaultProfile profile = DefaultProfile.getProfile(
"cn-hangzhou",    // 固定为cn-hangzhourequest。
"AccessKeyID",      // 您的AccessKey ID。
"AccessKeySecret");  // 您的AccessKey Secret。
IAcsClient client = new DefaultAcsClient(profile);

InitSmartVerifyRequest request = new InitSmartVerifyRequest();
// MetaInfo环境参数,需要通过客户端SDK获取。
request.setMetaInfo(
"{\"apdidToken\":\"\",\"appName\":\"com.aliyun.identity.platform\",\"appVersion\":\"1.0\","
+ "\"bioMetaInfo\":\"5.1.0:11501568,4\",\"deviceModel\":\"JKM-AL00b\",\"deviceType\":\"android\","
+ "\"osVersion\":\"9\",\"zimVer\":\"1.0.0\"}");
// 证件类型。
request.setCertType("IDENTITY_CARD");
request.setSceneId(20000xxxxxxL);
request.setOuterOrderNo("商户请求的唯一标识");
// 业务场景类型。
request.setMode("LOGIN_SAFE");
request.setCertName("张三");
request.setCertNo("330103xxxxxxxxxxxx");
request.setMobile("139xxxxxxxx");
request.setIp("xxx.xxx.xxx.xxx");
request.setUserId("xxxxxxx");

// 方式一:传入人脸图片Base64编码。
request.setFacePictureBase64("人脸图片Base64编码");
// 方式二:传入人脸图片的OSS bucket名和文件名。
//request.setOssBucketName("cn-shanghai-aliyun-cloudauth-xxxxx");
//request.setOssObjectName("verify/xxxxx/xxxxxx.jpeg");
// 方式三:传入人脸图片的公网HTTPS或HTTP地址。
//request.setFacePictureUrl("https://cn-shanghai-aliyun-cloudauth-xxxxxx.oss-cn-shanghai.aliyuncs.com/verify/xxxxx/xxxxx.jpeg")
// 方式四:已通过智能核身完成认证的CertifyId。
//request.setCertifyId("0bfa7c493f850e5178b9f8613634c9xx");

InitSmartVerifyResponse response = client.getAcsResponse(request);

System.out.println(response.getCode());
System.out.println(response.getMessage());
System.out.println(response.getRequestId());
System.out.println(response.getResultObject().getCertifyId());


// 等App客户端提交核身后,在客户端SDK的回调函数中,由客户端通知服务端运行以下代码查询认证结果。
DefaultProfile profile = DefaultProfile.getProfile(
"cn-hangzhou",    // 固定为cn-hangzhourequest。
"AccessKeyID",      // 您的AccessKey ID。
"AccessKeySecret");  // 您的AccessKey Secret。
IAcsClient client = new DefaultAcsClient(profile);

DescribeSmartVerifyRequest request = new DescribeSmartVerifyRequest();
request.setCertifyId("InitSmartVerify接口返回的certifyId");
request.setSceneId(20000xxxxxxL);

DescribeSmartVerifyResponse 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().getPassedScore());
System.out.println(response.getResultObject().getSubCode());
System.out.println(response.getResultObject().getMaterialInfo());