本文介绍了人脸静默活体检测Java SDK调用示例。

前提条件

使用Maven引入SDK

如果您需要查看SDK源代码,请参见Java SDK源码

<dependency>
    <groupId>com.aliyun</groupId>
    <artifactId>cloudauth20201112</artifactId>
    <version>1.0.0</version>
</dependency>

示例

  • 方式一:使用检测URL对象示例
    import com.aliyun.cloudauth20201112.Client;
    import com.aliyun.cloudauth20201112.models.LivenessDetectRequest;
    import com.aliyun.cloudauth20201112.models.LivenessDetectResponse;
    import com.aliyun.tea.TeaException;
    import com.aliyun.tearpc.models.Config;
    import com.aliyun.teautil.models.RuntimeOptions;
    
    public class LivenessDetectTest {
    
        public static void main(String[] args) throws Exception {
    
            // 通过以下代码创建Config实例并初始化。
            Config config = new Config();
            // 您的AccessKey ID。
            config.setAccessKeyId("AccessKey");
            // 您的AccessKey Secret。
            config.setAccessKeySecret("AccessSecret");
            // 设置Endpoint,Endpoint为固定值。
            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();
            // 设置连接超时时间(单位ms)。
            runtime.readTimeout = 10000;
            // 设置调用超时时间(单位ms)。
            runtime.connectTimeout = 10000;
    
            // 通过以下代码创建API请求并设置参数。
            LivenessDetectRequest request = new LivenessDetectRequest();
            request.setBizId("认证ID");
            request.setBizType("业务场景标识");
            // 认证的资源类型。
            request.setMediaCategory("认证的资源类型:IMAGE或VIDEO");
            request.setMediaUrl("https://www.aliyun.com/test.jpeg");
    
            // 通过以下代码发起请求并处理应答或异常。
            try {
                LivenessDetectResponse response = client.livenessDetect(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().getScore());
                System.out.println(response.getResultObject().getFrameUrl());
            } 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.cloudauth20201112.Client;
    import com.aliyun.cloudauth20201112.models.LivenessDetectAdvanceRequest;
    import com.aliyun.cloudauth20201112.models.LivenessDetectResponse;
    import com.aliyun.tea.TeaException;
    import com.aliyun.tearpc.models.Config;
    import com.aliyun.teautil.models.RuntimeOptions;
    
    public class LivenessDetectTest {
    
        public static void main(String[] args) throws Exception {
    
            // 通过以下代码创建Config实例并初始化。
            Config config = new Config();
            // 您的AccessKey ID。
            config.setAccessKeyId("AccessKey");
            // 您的AccessKey Secret。
            config.setAccessKeySecret("AccessSecret");
            // 设置Endpoint,Endpoint为固定值。
            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();
            // 设置连接超时时间(单位ms)。
            runtime.readTimeout = 10000;
            // 设置调用超时时间(单位ms)。
            runtime.connectTimeout = 10000;
    
            // 通过以下代码创建API请求并设置参数。
            LivenessDetectAdvanceRequest request = new LivenessDetectAdvanceRequest();
            request.setBizId("认证ID");
            request.setBizType("业务场景标识");
            // 认证的资源类型。
            request.setMediaCategory("认证的资源类型:IMAGE或VIDEO");
            InputStream inputStream = new FileInputStream("本地资源路径");
            request.setMediaFileObject(inputStream);
    
            // 通过以下代码发起请求并处理应答或异常。
            try {
                LivenessDetectResponse response = client.livenessDetectAdvance(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().getScore());
                System.out.println(response.getResultObject().getFrameUrl());
            } 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();
        }
    }