查询白名单Java SDK调用示例

本文介绍了查询白名单的Java SDK调用示例。

前提条件

  • 已注册阿里云账号并获取AccessKey ID和AccessKey Secret。更多信息,请参见创建AccessKey

  • 需要使用的Java版本在1.8版本及以上。

使用Maven引入SDK

<dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>cloudauth20190307</artifactId>
            <version>1.0.2</version>
</dependency>

示例

import java.util.List;

import com.aliyun.cloudauth20190307.Client;
import com.aliyun.cloudauth20190307.models.DescribeWhitelistRequest;
import com.aliyun.cloudauth20190307.models.DescribeWhitelistResponse;
import com.aliyun.cloudauth20190307.models.DescribeWhitelistResponse.DescribeWhitelistResponseItems;
import com.aliyun.tearpc.models.Config;
import com.aliyun.teautil.models.RuntimeOptions;

public class DescribeWhitelist {

    public static void main(String[] args){

        // 通过以下代码创建API请求并设置参数。
        DescribeWhitelistRequest request = new DescribeWhitelistRequest();
        // 您自定义的认证ID。
        request.setBizId("<xxx>");
        // 要接入的业务场景。不设置该参数,表示查询全部场景。
        //request.setBizType("<xxx>");
        // 要添加白名单的终端用户的身份证号码。
        request.setIdCardNum("<3xxxxxxxxxxxxxxxxx>");
        // 有效期开始时间(单位ms)。使用时间戳表示。
        request.setValidStartDate("<1619798400000>");
        // 有效期结束时间(单位ms)。使用时间戳表示。
        request.setValidEndDate("<1620835200000>");
        // 白名单是否有效。0表示无效,1表示有效,不设置表示查询全部。
        request.setValid("<1>");
        // 当前页面显示结果的最大数量。
        request.setPageSize(<20>);
        // 当前页码。
        request.setCurrentPage(<1>);

        try {
            DescribeWhitelistResponse response = describeWhitelist(request);
            if (response != null) {
                System.out.println(response.getRequestId());
                System.out.println(response.getTotalCount());
                List<DescribeWhitelistResponseItems> items = response.getItems();
                for (DescribeWhitelistResponseItems item : items) {
                    System.out.println(item.getId());
                    System.out.println(item.bizId);
                    System.out.println(item.bizType);
                    System.out.println(item.endDate);
                    System.out.println(item.gmtCreate);
                    System.out.println(item.gmtModified);
                    System.out.println(item.idCardNum);
                    System.out.println(item.startDate);
                    System.out.println(item.valid);
                    System.out.println();
                }
            }
        } catch (Exception e){
            System.out.println(e.getMessage());
        }
    }

    private static DescribeWhitelistResponse describeWhitelist(DescribeWhitelistRequest request)
        throws Exception {
        // 阿里云账号AccessKey拥有所有API的访问权限,建议您使用RAM用户进行API访问或日常运维。
        // 强烈建议不要把AccessKey ID和AccessKey Secret保存到工程代码里,否则可能导致AccessKey泄露,威胁您账号下所有资源的安全。
        // 本示例通过阿里云Credentials工具从环境变量中读取AccessKey,来实现API访问的身份验证。如何配置环境变量,请参见https://help.aliyun.com/document_detail/378657.html。
        com.aliyun.credentials.Client credentialClient = new com.aliyun.credentials.Client();
        Config config = new Config();
        config.setCredential(credentialClient);
        config.setEndpoint("cloudauth.aliyuncs.com");
        // 设置http代理。
        //config.setHttpProxy("<http://xxx.x.x.x:xxxx>");
        // 设置https代理。
        //config.setHttpsProxy("<http://xxx.x.x.x:xxxx>");
        Client client = new Client(config);

        // 创建RuntimeObject实例并设置运行参数。
        RuntimeOptions runtime = new RuntimeOptions();
        // 设置连接超时时间(单位ms),请根据实际情况设置。
        runtime.readTimeout = 10000;
        // 设置调用超时时间(单位ms),请根据实际情况设置。
        runtime.connectTimeout = 10000;

        return client.describeWhitelist(request, runtime);
    }
}