本文介绍了卡证核身方案纯服务端集成的Java SDK调用示例。
SDK使用说明
如果需要其他语言的SDK示例代码,您可以通过OpenAPI开发者门户在线调试工具调试API接口。该工具会自动生成相应API的SDK调用示例代码。
详细信息,请参见调用ElementSmartVerify接口。
前提条件
需要使用的Java版本在1.8版本及以上。
使用Maven引入SDK
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>cloudauth20200618</artifactId>
<version>1.0.4</version>
</dependency>
示例
- 方式一:不使用本地证件示例
import com.aliyun.cloudauth20200618.Client; import com.aliyun.cloudauth20200618.models.ElementSmartVerifyRequest; import com.aliyun.cloudauth20200618.models.ElementSmartVerifyResponse; import com.aliyun.tearpc.models.Config; import com.aliyun.teautil.models.RuntimeOptions; public class ElementSmartVerifyTest { public static void main(String[] args) 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); // 设置您的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请求并设置参数。 ElementSmartVerifyRequest request = new ElementSmartVerifyRequest(); request.setSceneId(200xxxxL); // 设置商户请求的唯一标识。 request.setOuterOrderNo("xxx"); // 模式。 request.setMode("OCR_VERIFY_ID_NAME"); // 固定值。 request.setCertType("IDENTITY_CARD"); // request.setCertName("张三"); // request.setCertNo("18位身份证号"); request.setCertUrl("https://www.aliyun.com/test.jpeg"); // 身份证国徽面URL。 // request.setCertNationalEmblemUrl("https://www.aliyun.com/test.jpeg"); // 通过以下代码发起请求并处理应答和异常。 try { ElementSmartVerifyResponse response = client.elementSmartVerify(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().getCertifyId()); System.out.println(response.getResultObject().getSubCode()); System.out.println(response.getResultObject().getMaterialInfo()); } 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.cloudauth20200618.Client; import com.aliyun.cloudauth20200618.models.ElementSmartVerifyAdvanceRequest; import com.aliyun.cloudauth20200618.models.ElementSmartVerifyResponse; import com.aliyun.tea.TeaException; import com.aliyun.tearpc.models.Config; import com.aliyun.teautil.models.RuntimeOptions; public class ElementSmartVerifyTest { public static void main(String[] args) 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); // 设置您的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请求并设置参数。 ElementSmartVerifyAdvanceRequest request = new ElementSmartVerifyAdvanceRequest(); request.setSceneId(200xxxxL); //设置商户请求的唯一标识。 request.setOuterOrderNo("xxx"); // 模式。 request.setMode("OCR_VERIFY_ID_NAME"); // 固定值。 request.setCertType("IDENTITY_CARD"); // request.setCertName("张三"); // request.setCertNo("18位身份证号"); // 身份证国徽面URL。 // request.setCertNationalEmblemUrl("https://www.aliyun.com/test.jpeg"); //设置本地文件路径。 InputStream inputStream = new FileInputStream("xxx"); request.setCertFileObject(inputStream); // 通过以下代码发起请求并处理应答或异常。 try { ElementSmartVerifyResponse response = client.elementSmartVerifyAdvance(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().getCertifyId()); System.out.println(response.getResultObject().getSubCode()); System.out.println(response.getResultObject().getMaterialInfo()); } 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(); } }