接入说明
必须企业账号才可以接入人脸识别
官方文档
官方时序图
步骤一
根据官方文档步骤一创建RuleId
步骤二
项目引入依赖
<dependency>
<groupId>com.tencentcloudapi</groupId>
<artifactId>tencentcloud-sdk-java</artifactId>
<version>3.1.1000</version>
</dependency>
调用实名核身鉴权接口文档:人脸核身 实名核身鉴权_腾讯云
JAVA 测试代码
SecretId,SecretKey 需要自己生成,腾讯云企业账户才有权限进行调用人脸识别接口,个人无法地调通
import com.tencentcloudapi.common.Credential;
import com.tencentcloudapi.common.exception.TencentCloudSDKException;
import com.tencentcloudapi.faceid.v20180301.FaceidClient;
import com.tencentcloudapi.faceid.v20180301.models.DetectAuthRequest;
import com.tencentcloudapi.faceid.v20180301.models.DetectAuthResponse;
public class Test3 {
public static void main(String[] args) {
try {
// 为了保护密钥安全,建议将密钥设置在环境变量中或者配置文件中,请参考本文凭证管理章节。
// 硬编码密钥到代码中有可能随代码泄露而暴露,有安全隐患,并不推荐。
Credential cred = new Credential("SecretId", "SecretKey");
FaceidClient client = new FaceidClient(cred,null);
DetectAuthRequest detectAuthRequest = new DetectAuthRequest();
detectAuthRequest.setRuleId("1");
detectAuthRequest.setIdCard("xxxx");
detectAuthRequest.setName("zx");
detectAuthRequest.setRedirectUrl("xxxx");
DetectAuthResponse detectAuthResponse = client.DetectAuth(detectAuthRequest);
System.out.println(DetectAuthResponse.toJsonString(detectAuthResponse));
} catch (
TencentCloudSDKException e) {
System.out.println(e.toString());
}
}
}
未开通服务接口响应
若成功接口响应
{
"Response": {
"BizToken": "CE661F1A-0F1E-45BD-BE13-34C05CEA7681",
"Url": "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx2cca36a86d5035ae&redirect_uri=http%3A%2F%2Fopen.faceid.qq.com%2Fv1%2Fapi%2FgetCode%3FbizRedirect%3Dhttp%253A%252F%252Ffaceid.qq.com%252Fapi%252Fauth%252FgetOpenidAndSaveToken%253Ftoken%253DCE661F1A-0F1E-45BD-BE13-34C05CEA7681&response_type=code&scope=snsapi_base&state=&component_appid=wx9802ee81e68d6dee#wechat_redirect",
"RequestId": "f904f4cf-75db-4f8f-a5ec-dc4f942c7f7a"
}
}
步骤三
根据返回的Url通过手机访问进行人脸认证
步骤四
获取人脸识别结果接口:人脸核身 获取实名核身结果信息增强版_腾讯云
java 测试代码
secretId,secertKey 填充自己的企业信息
import com.tencentcloudapi.common.Credential;
import com.tencentcloudapi.common.exception.TencentCloudSDKException;
import com.tencentcloudapi.faceid.v20180301.FaceidClient;
import com.tencentcloudapi.faceid.v20180301.models.GetDetectInfoEnhancedRequest;
import com.tencentcloudapi.faceid.v20180301.models.GetDetectInfoEnhancedResponse;
public class Test4 {
public static void main(String[] args) throws TencentCloudSDKException {
//GetDetectInfoEnhanced
Credential cred = new Credential("", "");
FaceidClient client = new FaceidClient(cred,null);
GetDetectInfoEnhancedRequest getDetectInfoEnhancedRequest = new GetDetectInfoEnhancedRequest();
getDetectInfoEnhancedRequest.setBizToken("xxxx");
getDetectInfoEnhancedRequest.setInfoType("1");
getDetectInfoEnhancedRequest.setRuleId("1");
GetDetectInfoEnhancedResponse getDetectInfoEnhancedResponse = client.GetDetectInfoEnhanced(getDetectInfoEnhancedRequest);
System.out.println(GetDetectInfoEnhancedResponse.toJsonString(getDetectInfoEnhancedResponse));
}
}
未开通服务接口响应
接口正常响应
{
"Response": {
"BestFrame": {
"BestFrame": "/9j/4AAQSk...JKD2A//9k=",
"BestFrames": [
"/9j/4AAQSk...002dgP/9k=",
"/9j/4AAQSk...vx+YH/2Q==",
"/9j/4AAQSk...n6fj5Af//Z",
"/9j/4AAQSk...dzlFFagf/Z"
]
},
"EncryptedBody": "",
"Encryption": {
"Algorithm": "",
"CiphertextBlob": "",
"EncryptList": [],
"Iv": "",
"TagList": []
},
"IdCardData": {
"Avatar": null,
"BackWarnInfos": null,
"OcrBack": null,
"OcrFront": null,
"ProcessedBackImage": null,
"ProcessedFrontImage": null,
"WarnInfos": null
},
"IntentionActionResult": null,
"IntentionQuestionResult": {
"AsrResult": [],
"Audios": [],
"FinalResultCode": null,
"FinalResultDetailCode": null,
"FinalResultMessage": null,
"ResultCode": [],
"ScreenShot": [],
"Video": null
},
"IntentionVerifyData": {
"AsrResult": null,
"AsrResultSimilarity": null,
"ErrorCode": null,
"ErrorMessage": null,
"IntentionVerifyBestFrame": null,
"IntentionVerifyVideo": null
},
"RequestId": "91173d84-e461-4da4-a270-2b8d48a2e136",
"Text": {
"CompareLibType": "权威库",
"Comparemsg": "成功",
"Comparestatus": 0,
"ErrCode": 0,
"ErrMsg": "成功",
"Extra": "",
"IdCard": "11204416541220243X",
"IdInfoFrom": "其他",
"LiveMsg": "成功",
"LiveStatus": 0,
"LivenessDetail": [
{
"CompareLibType": "权威库",
"Comparemsg": "成功",
"Comparestatus": 0,
"Errcode": 0,
"Errmsg": "成功",
"Idcard": "11204416541220243X",
"IsNeedCharge": true,
"Livemsg": "成功",
"LivenessMode": 1,
"Livestatus": 0,
"Name": "韦小宝",
"ReqTime": "1730444265275",
"Seq": "1f330eea-f5db-4726-a7b4-38cdf1aefb02",
"Sim": "95.51"
}
],
"LivenessInfoTag": null,
"LivenessMode": 1,
"Location": null,
"Mobile": "",
"NFCBillingCounts": 0,
"NFCRequestIds": [],
"Name": "韦小宝",
"OcrAddress": null,
"OcrAuthority": null,
"OcrBirth": null,
"OcrGender": null,
"OcrIdCard": "",
"OcrName": "",
"OcrNation": null,
"OcrValidDate": null,
"PassNo": null,
"Sim": "95.51",
"UseIDType": 0,
"VisaNum": null
},
"VideoData": {
"LivenessVideo": "AAAAGGZ0eX...VyYWxidW0h"
}
}
}