本文介绍了卡证核身方案纯服务端集成的Python SDK调用示例。
前提条件
需要使用的Python版本在3.0版本及以上。
已添加认证场景,并获取对应的场景ID。具体操作,请参见添加认证场景。
安装SDK
关于Python SDK源代码,请参见Python SDK。
pip install alibabacloud_cloudauth20200618==1.0.3
引入依赖包
pip install alibabacloud_credentials==0.3.2
示例
方式一:不使用本地证件示例
from alibabacloud_cloudauth20200618.client import Client from alibabacloud_cloudauth20200618.models import ElementSmartVerifyRequest from alibabacloud_oss_util.models import RuntimeOptions from alibabacloud_tea_rpc.models import Config from alibabacloud_credentials.client import Client as CredClient # 通过以下代码创建Config实例并初始化。 config = Config() # 阿里云账号AccessKey拥有所有API的访问权限,建议您使用RAM用户进行API访问或日常运维。 # 强烈建议不要把AccessKey ID和AccessKey Secret保存到工程代码里,否则可能导致AccessKey泄露,威胁您账号下所有资源的安全。 # 本示例通过阿里云Credentials工具从环境变量中读取AccessKey,来实现API访问的身份验证。如何配置环境变量,请参见 https://help.aliyun.com/zh/sdk/developer-reference/configure-credentials。 cred = CredClient() config.credential = cred # 设置region_id,region_id为固定值。 config.region_id = 'cn-hangzhou' # 设置endpoint,endpoint为固定值。 config.endpoint = 'cloudauth.aliyuncs.com' # 设置http代理。 # config.http_proxy = 'http://xxx.xxx.xxx.xxx:9999' # 设置https代理。 # config.https_proxy = 'https://username:password@xxx.xxx.xxx.xxx:9999' client = Client(config) # 通过以下代码创建Runtime实例并设置运行参数。 runtime_option = RuntimeOptions() # 设置不自动重试。 runtime_option.autoretry = False # 设置连接超时时间(单位ms)。 runtime_option.connect_timeout = 10000 # 设置调用超时时间(单位ms)。 runtime_option.read_timeout = 10000 # 通过以下代码创建API请求并设置参数。 request = ElementSmartVerifyRequest() request.scene_id = 200xxxx request.outer_order_no = '商户请求的唯一标识' # 模式。 request.mode = 'OCR_VERIFY_ID_NAME' # 固定值。 request.cert_type = 'IDENTITY_CARD' # request.cert_name = '张三' # request.cert_no = '18位身份证号' # request.cert_national_emblem_url = 'https://www.aliyun.com/test.jpeg' request.cert_url = 'https://www.aliyun.com/test.jpeg' # 通过以下代码发起请求并处理应答和异常。 try: response = client.element_smart_verify(request, runtime_option) print(response.request_id) print(response.code) print(response.message) print(response.result_object.passed) print(response.result_object.certify_id) print(response.result_object.sub_code) print(response.result_object.material_info) except BaseException as e: print(e)
方式二:使用本地证件示例
from alibabacloud_cloudauth20200618.client import Client from alibabacloud_cloudauth20200618.models import ElementSmartVerifyAdvanceRequest from alibabacloud_oss_util.models import RuntimeOptions from alibabacloud_tea_rpc.models import Config from alibabacloud_credentials.client import Client as CredClient # 通过以下代码创建Config实例并初始化。 config = Config() # 阿里云账号AccessKey拥有所有API的访问权限,建议您使用RAM用户进行API访问或日常运维。 # 强烈建议不要把AccessKey ID和AccessKey Secret保存到工程代码里,否则可能导致AccessKey泄露,威胁您账号下所有资源的安全。 # 本示例通过阿里云Credentials工具从环境变量中读取AccessKey,来实现API访问的身份验证。如何配置环境变量,请参见 https://help.aliyun.com/zh/sdk/developer-reference/configure-credentials。 cred = CredClient() config.credential = cred # 设置region_id,region_id为固定值。 config.region_id = 'cn-hangzhou' # 设置endpoint,endpoint为固定值。 config.endpoint = 'cloudauth.aliyuncs.com' # 设置http代理。 # config.http_proxy = 'http://xxx.xxx.xxx.xxx:9999' # 设置https代理。 # config.https_proxy = 'https://username:password@xxx.xxx.xxx.xxx:9999' client = Client(config) # 通过以下代码创建Runtime实例并设置运行参数。 runtime_option = RuntimeOptions() # 设置不自动重试。 runtime_option.autoretry = False # 设置连接超时时间(单位ms)。 runtime_option.connect_timeout = 10000 # 设置调用超时时间(单位ms)。 runtime_option.read_timeout = 10000 # 通过以下代码创建API请求并设置参数。 request = ElementSmartVerifyAdvanceRequest() request.scene_id = 200xxxx request.outer_order_no = '商户请求的唯一标识' # 模式。 request.mode = 'OCR_VERIFY_ID_NAME' # 固定值。 request.cert_type = 'IDENTITY_CARD' # request.cert_name = '张三' # request.cert_no = '18位身份证号' # request.cert_national_emblem_url = 'https://www.aliyun.com/test.jpeg' file = open('本地文件路径', 'rb') request.cert_file_object = file # 通过以下代码发起请求并处理应答和异常。 try: response = client.element_smart_verify_advance(request, runtime_option) print(response.request_id) print(response.code) print(response.message) print(response.result_object.passed) print(response.result_object.certify_id) print(response.result_object.sub_code) print(response.result_object.material_info) except BaseException as e: print(e) # 关闭资源。 file.close()
反馈
- 本页导读
文档反馈