本文介紹了卡證核身方案純服務(wù)端集成的Java SDK調(diào)用示例。
SDK使用說明
如果需要其他語言的SDK示例代碼,您可以通過OpenAPI開發(fā)者門戶在線調(diào)試工具調(diào)試API接口。該工具會自動生成相應(yīng)API的SDK調(diào)用示例代碼。
詳細信息,請參見調(diào)用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的訪問權(quán)限,建議您使用RAM用戶進行API訪問或日常運維。 // 強烈建議不要把AccessKey ID和AccessKey Secret保存到工程代碼里,否則可能導(dǎo)致AccessKey泄露,威脅您賬號下所有資源的安全。 // 本示例通過阿里云Credentials工具從環(huán)境變量中讀取AccessKey,來實現(xiàn)API訪問的身份驗證。如何配置環(huán)境變量,請參見http://m.bestwisewords.com/document_detail/378657.html。 com.aliyun.credentials.Client credentialClient = new com.aliyun.credentials.Client(); Config config = new Config(); config.setCredential(credentialClient); // 設(shè)置您的Endpoint,Endpoint為固定值。 config.setEndpoint("cloudauth.aliyuncs.com"); // 設(shè)置您的RegionID,RegionID為固定值。 config.setRegionId("cn-hangzhou"); // 設(shè)置HTTP代理。 // config.setHttpProxy("http://xxx.xxx.xxx.xxx:9999"); // 設(shè)置HTTPS代理。 // config.setHttpsProxy("https://username:password@xxx.xxx.xxx.xxx:9999"); Client client = new Client(config); // 通過以下代碼創(chuàng)建RuntimeObject實例并設(shè)置運行參數(shù)。 RuntimeOptions runtime = new RuntimeOptions(); // 設(shè)置調(diào)用超時時間(單位ms)。 runtime.readTimeout = 10000; // 設(shè)置連接超時時間(單位ms)。 runtime.connectTimeout = 10000; // 通過以下代碼創(chuàng)建API請求并設(shè)置參數(shù)。 ElementSmartVerifyRequest request = new ElementSmartVerifyRequest(); request.setSceneId(200xxxxL); // 設(shè)置商戶請求的唯一標(biāo)識。 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"); // 通過以下代碼發(fā)起請求并處理應(yīng)答和異常。 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的訪問權(quán)限,建議您使用RAM用戶進行API訪問或日常運維。 // 強烈建議不要把AccessKey ID和AccessKey Secret保存到工程代碼里,否則可能導(dǎo)致AccessKey泄露,威脅您賬號下所有資源的安全。 //本示例通過阿里云Credentials工具從環(huán)境變量中讀取AccessKey,來實現(xiàn)API訪問的身份驗證。如何配置環(huán)境變量,請參見http://m.bestwisewords.com/document_detail/378657.html。 com.aliyun.credentials.Client credentialClient = new com.aliyun.credentials.Client(); Config config = new Config(); config.setCredential(credentialClient); // 設(shè)置您的Endpoint,Endpoint為固定值。 config.setEndpoint("cloudauth.aliyuncs.com"); // 設(shè)置您的RegionID,RegionID為固定值。 config.setRegionId("cn-hangzhou"); // 設(shè)置HTTP代理。 //config.setHttpProxy("http://xxx.xxx.xxx.xxx:9999"); // 設(shè)置HTTPS代理。 //config.setHttpsProxy("https://username:password@xxx.xxx.xxx.xxx:9999"); Client client = new Client(config); // 通過以下代碼創(chuàng)建RuntimeObject實例并設(shè)置運行參數(shù)。 RuntimeOptions runtime = new RuntimeOptions(); // 設(shè)置調(diào)用超時時間(單位ms)。 runtime.readTimeout = 10000; // 設(shè)置連接超時時間(單位ms)。 runtime.connectTimeout = 10000; // 通過以下代碼創(chuàng)建API請求并設(shè)置參數(shù)。 ElementSmartVerifyAdvanceRequest request = new ElementSmartVerifyAdvanceRequest(); request.setSceneId(200xxxxL); //設(shè)置商戶請求的唯一標(biāo)識。 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"); //設(shè)置本地文件路徑。 InputStream inputStream = new FileInputStream("xxx"); request.setCertFileObject(inputStream); // 通過以下代碼發(fā)起請求并處理應(yīng)答或異常。 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(); } // 通過以下代碼關(guān)閉資源。 inputStream.close(); } }