服務(wù)端接入教程
人臉核身提供服務(wù)端SDK幫助您在服務(wù)端依據(jù)被驗(yàn)證的人名和身份證號(hào)碼,請(qǐng)求身份驗(yàn)證的用戶圖像信息。
阿里云視覺智能開放平臺(tái)各類目視覺AI能力API接入、接口使用或問題咨詢等,請(qǐng)通過釘釘群(23109592)加入阿里云視覺智能開放平臺(tái)咨詢?nèi)郝?lián)系我們。
成為開發(fā)者
請(qǐng)您使用阿里云賬號(hào)登錄阿里云視覺智能開放平臺(tái)。如還未持有阿里云賬戶,請(qǐng)先注冊(cè)阿里云賬號(hào)。
開通服務(wù)
調(diào)用人臉核身的API前,您需要開通人臉人體服務(wù)。在進(jìn)行人臉核身認(rèn)證時(shí),需要先將圖片上傳至上海地域的OSS Bucket中進(jìn)行文件URL處理,通過圖片URL鏈接傳入圖片數(shù)據(jù)。關(guān)于如何開通OSS服務(wù)請(qǐng)參見開通OSS服務(wù)。下面為您介紹如何開通人臉人體服務(wù)。
- 登錄阿里云視覺智能開放平臺(tái)。
- 在頂部菜單欄的能力廣場(chǎng)中單擊人臉人體。
- 在人臉人體頁面中單擊立即開通。說明 對(duì)于公測(cè)期免費(fèi)能力,在頁面中顯示免費(fèi)開通;對(duì)于商業(yè)化付費(fèi)能力,在頁面中顯示立即開通,開通后不調(diào)用不計(jì)費(fèi),調(diào)用后開始收費(fèi)。
- 確認(rèn)開通地域并勾選服務(wù)協(xié)議后,單擊立即開通。
頁面提示服務(wù)開通成功。
說明 開通了人臉人體服務(wù)后,該服務(wù)下的所有API均可以直接調(diào)用,不需要再單獨(dú)開通。
文件URL處理
RAM授權(quán)
您還需要為您的賬戶進(jìn)行RAM授權(quán),以訪問相應(yīng)的阿里云資源。授權(quán)操作詳情請(qǐng)參見使用RAM Policy控制訪問權(quán)限。
添加依賴包
請(qǐng)根據(jù)您的代碼選擇添加不同的依賴包。
Java
(推薦)在您的Java項(xiàng)目中添加人臉人體服務(wù)的POM依賴。
<!-- https://mvnrepository.com/artifact/com.aliyun/facebody20200910 --> <dependency> <groupId>com.aliyun</groupId> <artifactId>facebody20200910</artifactId> <version>${aliyun.facebody.version}</version> </dependency>
您也可以下載人臉人體服服務(wù)的SDK包直接引用。
AI類目
SDK包名稱
SDK鏈接
Github鏈接
人臉人體
facebody20200910
Python
打開命令提示符窗口,依次執(zhí)行如下命令安裝Python SDK。
pip install alibabacloud_facebody20200910
配置環(huán)境變量
配置環(huán)境變量ALIBABA_CLOUD_ACCESS_KEY_ID和ALIBABA_CLOUD_ACCESS_KEY_SECRET。
阿里云賬號(hào)AccessKey擁有所有API的訪問權(quán)限,建議您使用RAM用戶進(jìn)行API訪問或日常運(yùn)維,具體操作,請(qǐng)參見創(chuàng)建RAM用戶。
請(qǐng)不要將AccessKey ID和AccessKey Secret保存到工程代碼里,否則可能導(dǎo)致AccessKey泄露,威脅您賬號(hào)下所有資源的安全。
請(qǐng)求示例
請(qǐng)求示例如下:
Java請(qǐng)求示例
說明請(qǐng)將如下代碼示例中的
<accessKeyId>
和<accessSecret>
替換為您的真實(shí)AccessKey信息。如何獲取AccessKey請(qǐng)參見創(chuàng)建AccessKey。import com.aliyun.facebody20200910.models.ExecuteServerSideVerificationRequest; import com.aliyun.facebody20200910.models.ExecuteServerSideVerificationResponse; import com.aliyun.teaopenapi.models.Config; import com.aliyun.teautil.models.RuntimeOptions; import com.google.gson.Gson; import java.util.HashMap; import java.util.Map; public class TestExecuteServerSideVerification { public static void main(String[] args) { try { // 創(chuàng)建AccessKey ID和AccessKey Secret,請(qǐng)參考http://bestwisewords.com/document_detail/175144.html。 // 如果您使用的是RAM用戶的AccessKey,還需要為RAM用戶授予權(quán)限AliyunVIAPIFullAccess,請(qǐng)參考http://bestwisewords.com/document_detail/145025.html。 // 從環(huán)境變量讀取配置的AccessKey ID和AccessKey Secret。運(yùn)行代碼示例前必須先配置環(huán)境變量。 com.aliyun.facebody20200910.Client client = createClient(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"), System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET")); ExecuteServerSideVerificationRequest request = new ExecuteServerSideVerificationRequest(); request.setCertificateName("真實(shí)姓名"); request.setCertificateNumber("身份證號(hào)"); request.setFacialPictureUrl("圖像URL地址"); request.setSceneType("server"); RuntimeOptions runtime = new RuntimeOptions(); Map<String, String> headers = new HashMap(); headers.put("Accept-Encoding", "identity"); ExecuteServerSideVerificationResponse response = client.executeServerSideVerificationWithOptions(request, headers, runtime); System.out.println("ExecuteServerSideVerificationResponse response: " + new Gson().toJson(response)); } catch (Exception e) { e.printStackTrace(); } } public static com.aliyun.facebody20200910.Client createClient(String accessKeyId, String accessKeySecret) throws Exception { Config config = new Config(); // 您的AccessKey ID config.accessKeyId = accessKeyId; // 您的AccessKey Secret config.accessKeySecret = accessKeySecret; // 訪問的域名 config.endpoint = "facebody.cn-shanghai.aliyuncs.com"; return new com.aliyun.facebody20200910.Client(config); } }
Python請(qǐng)求示例
說明請(qǐng)將如下代碼示例中的
<accessKeyId>
和<accessSecret>
替換為您的真實(shí)AccessKey信息。如何獲取AccessKey請(qǐng)參見創(chuàng)建AccessKey。from alibabacloud_facebody20200910.client import Client from alibabacloud_tea_openapi.models import Config from alibabacloud_tea_util.models import RuntimeOptions from alibabacloud_facebody20200910.models import ExecuteServerSideVerificationRequest config = Config( # 創(chuàng)建AccessKey ID和AccessKey Secret,請(qǐng)參考http://bestwisewords.com/document_detail/175144.html。 # 如果您用的是RAM用戶的AccessKey,還需要為RAM用戶授予權(quán)限AliyunVIAPIFullAccess,請(qǐng)參考http://bestwisewords.com/document_detail/145025.html。 # 從環(huán)境變量讀取配置的AccessKey ID和AccessKey Secret。運(yùn)行代碼示例前必須先配置環(huán)境變量。 access_key_id=os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_ID'), access_key_secret=os.environ.get('ALIBABA_CLOUD_ACCESS_KEY_SECRET'), endpoint='facebody.cn-shanghai.aliyuncs.com', region_id='cn-shanghai', type='access_key' ) # init RuntimeObject runtime_option = RuntimeOptions() # init Client client = Client(config) request = ExecuteServerSideVerificationRequest( certificate_name="真實(shí)姓名", certificate_number="身份證號(hào)", facial_picture_url="圖像URL地址" ) response = client.execute_server_side_verification_with_options(request, headers={"Accept-Encoding": "identity"}, runtime=runtime_option) print(response)
結(jié)果示例
該接口的請(qǐng)求結(jié)果示例如下。
{
"RequestId": "1638718D-C4BA-4009-845D-AC26CACB8354",
"Data": {
"Pass": true,
"VerificationToken": "f2a6bb31a5a9f04edd68eab08045****",
"Reason": "認(rèn)證通過(Z8120)"
}
}
從返回結(jié)果來看,該圖片的人臉與人名和身份證號(hào)碼相匹配,認(rèn)證通過。具體信息如下:
RequestId:請(qǐng)求ID。
Pass:驗(yàn)證結(jié)果為通過。
VerificationToken:驗(yàn)證Token。
Reason:認(rèn)證通過。