日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

Go SDK調用示例

本文介紹了金融級實人認證純服務端API的Go SDK調用示例。

SDK使用說明

如果需要其他語言的SDK示例代碼,您可以通過OpenAPI 開發者門戶在線調試工具調試API接口,該工具會自動生成相應API的SDK調用示例代碼。您可以單擊以下接口鏈接進行調試:

調試ContrastFaceVerify接口

前提條件

  • 僅支持Go 1.12.0及以上版本。

  • 已添加認證場景,并獲取對應的場景ID。具體操作,請參見添加認證場景

引入依賴包

go get -u github.com/aliyun/credentials-go
說明

Credentials工具配置方法,請參見管理訪問憑證

安裝SDK

關于Go SDK源代碼,請參見Go SDK包

通過Go mod來管理項目依賴:

go get github.com/alibabacloud-go/cloudauth-20190307/v3

照片實人認證調用示例

關于參數的具體描述,請參見ContrastFaceVerify-照片實人認證

package main

import (
	"fmt"
	cloudauth "github.com/alibabacloud-go/cloudauth-20190307/v3/client"
	openapi "github.com/alibabacloud-go/darabonba-openapi/v2/client"
	util "github.com/alibabacloud-go/tea-utils/v2/service"
	"github.com/alibabacloud-go/tea/tea"
  "github.com/aliyun/credentials-go/credentials"
)


func CreateClient (endpoint *string) (_result *cloudauth.Client, _err error) {
  //阿里云賬號AccessKey擁有所有API的訪問權限,建議您使用RAM用戶進行API訪問或日常運維。
  //強烈建議不要把AccessKey ID和AccessKey Secret保存到工程代碼里,否則可能導致AccessKey泄露,威脅您賬號下所有資源的安全。
  //本示例通過阿里云Credentials工具從環境變量中讀取AccessKey,來實現API訪問的身份驗證。
   // 初始化Credential。
	credential, _err := credentials.NewCredential(nil)
	if _err != nil {
		panic(_err)
	}
	// 初始化Client。
	config := &openapi.Config{
	// 使用Credential配置憑證。
	Credential: credential,
	Endpoint:   endpoint,
	// 設置HTTP代理。
	// HttpProxy: tea.String("http://xx.xx.xx.xx:xxxx"),
	// 設置HTTPS代理。
	// HttpsProxy: tea.String("https://username:password@xxx.xxx.xxx.xxx:9999"),
	}
	//_result = &cloudauth.Client{}
	_result, _err = cloudauth.NewClient(config)
	return _result, _err
}

func _main () (_err error) {
	request := &cloudauth.ContrastFaceVerifyRequest{
		// 固定值。
		ProductCode: tea.String("ID_MIN"),
		// 請輸入場景ID。
		SceneId: tea.Int64(xxx),
		OuterOrderNo: tea.String("商戶請求的唯一標識"),
		Model: tea.String("NO_LIVENESS"),
		// 固定值IDENTITY_CARD。
		CertType: tea.String("IDENTITY_CARD"),
		CertName: tea.String("xxx"),
		CertNo: tea.String("xxx"),
		// Ip: tea.String("用戶IP地址"),
		// UserId: tea.String("用戶ID"),
		// Mobile: tea.String("130xxxxxxxx"),
		// DeviceToken: tea.String("通過設備指紋獲取的deviceToken"),

		// 請在以下四種方式中選擇其一。
		// 1.照片Base64編碼。
		// 2.照片OSS Bucket名和文件名。
		// 3.照片OSS的URL地址。
		// 4.已經實人認證通過的CertifyId。
		// 方式一:照片Base64。
		// FaceContrastPicture: tea.String("人臉照片Base64編碼"),
		// 方式二:照片OSS Bucket名和文件名。
		// OssBucketName: tea.String("cn-shanghai-aliyun-cloudauth-xxxxx"),
		// OssObjectName: tea.String("verify/xxxxx/xxxxxx.jpeg"),
		// 方式三:照片OSS的URL地址,公網可訪問。
		FaceContrastPictureUrl: tea.String("https://cn-shanghai-aliyun-cloudauth-xxxxxx.oss-cn-shanghai.aliyuncs.com/verify/xxxxx/xxxxx.jpeg"),
		// 方式四:已經實人認證通過的CertifyId。
		// CertifyId: tea.String("0bfa7c493f850e5178b9f8613634c9xx"),

		// 如需開啟個人信息加密傳輸。
		// EncryptType: tea.String("SM2"),
		// CertName: tea.String("BCRD/7ZkNy7Q*****M1BMBezZe8GaYHrLwyJv558w=="),
		// CertNo: tea.String("BMjsstxK3S4b1YH*****Pet8ECObfxmLN92SLsNg==")
	}
	response, _err := ContrastFaceVerifyAutoRoute(request)
	// 不支持服務自動路由。
	// response, _err := ContrastFaceVerify(tea.String("cloudauth.cn-shanghai.aliyuncs.com"), request)
	if _err != nil {
		return _err
	}

	fmt.Println(*response.Body.RequestId)
	fmt.Println(*response.Body.Code)
	fmt.Println(*response.Body.Message)
	fmt.Println(*response.Body.RequestId)
	fmt.Println(*response.Body.ResultObject.Passed)
	fmt.Println(*response.Body.ResultObject.IdentityInfo)
	fmt.Println(*response.Body.ResultObject.SubCode)
	fmt.Println(*response.Body.ResultObject.MaterialInfo)
	return _err
}

func ContrastFaceVerifyAutoRoute (request *cloudauth.ContrastFaceVerifyRequest) (_result *cloudauth.ContrastFaceVerifyResponse, _err error) {
	endpoints := []*string{tea.String("cloudauth.cn-shanghai.aliyuncs.com"), tea.String("cloudauth.cn-beijing.aliyuncs.com")}
	var lastResponse *cloudauth.ContrastFaceVerifyResponse
	for _, endpoint := range endpoints {
		response, _err := ContrastFaceVerify(endpoint, request)
		lastResponse = response
		if _err != nil {
			var err = &tea.SDKError{}
			if _t, ok := _err.(*tea.SDKError); ok {
				err = _t
				// 系統異常,切換到下個地域調用。
				if *err.StatusCode == 500 {
					continue
				}
			}
			return _result, _err
		}

		if *response.StatusCode == 500 {
			continue
		}

		if *response.Body.Code == "500"{
			continue
		}

		_result = response
		return _result, _err

	}
	_result = lastResponse
	return _result, _err
}

func ContrastFaceVerify (endpoint *string, request *cloudauth.ContrastFaceVerifyRequest) (_result *cloudauth.ContrastFaceVerifyResponse, _err error) {
	client, _err := CreateClient(endpoint)
	if _err != nil {
		return _result, _err
	}

	// 創建RuntimeObject實例并設置運行參數。
	runtime := &util.RuntimeOptions{}
	runtime.ReadTimeout = tea.Int(10000)
	runtime.ConnectTimeout = tea.Int(10000)
	_result = &cloudauth.ContrastFaceVerifyResponse{}
	_body, _err := client.ContrastFaceVerifyWithOptions(request, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}


func main() {
	err := _main()
	if err != nil {
		panic(err)
	}
}

視頻實人認證調用示例

支持OSS對象存儲方式和本地文件兩種方式。關于參數的具體描述,請參見ContrastFaceVerify-視頻實人認證

使用本地文件的方式(推薦)

package main

import (
	"fmt"
	cloudauth "github.com/alibabacloud-go/cloudauth-20190307/v3/client"
	openapi "github.com/alibabacloud-go/darabonba-openapi/v2/client"
	util "github.com/alibabacloud-go/tea-utils/v2/service"
	"github.com/alibabacloud-go/tea/tea"
  "github.com/aliyun/credentials-go/credentials"
)


func CreateClient (endpoint *string) (_result *cloudauth.Client, _err error) {
	//阿里云賬號AccessKey擁有所有API的訪問權限,建議您使用RAM用戶進行API訪問或日常運維。
  //強烈建議不要把AccessKey ID和AccessKey Secret保存到工程代碼里,否則可能導致AccessKey泄露,威脅您賬號下所有資源的安全。
  //本示例通過阿里云Credentials工具從環境變量中讀取AccessKey,來實現API訪問的身份驗證。
  // 初始化Credential。
	credential, _err := credentials.NewCredential(nil)
	if _err != nil {
		panic(_err)
	}
	// 初始化Client。
	config := &openapi.Config{
	// 使用Credential配置憑證。
	Credential: credential,
	Endpoint:   endpoint,
	// 設置HTTP代理。
	// HttpProxy: tea.String("http://xx.xx.xx.xx:xxxx"),
	// 設置HTTPS代理。
	// HttpsProxy: tea.String("https://username:password@xxx.xxx.xxx.xxx:9999"),
	}
	//_result = &cloudauth.Client{}
	_result, _err = cloudauth.NewClient(config)
	return _result, _err
}

func _main () (_err error) {
	f, err := os.Open("/xxx/xxx.mp4")
	if err != nil {
		return err
	}
	request := &cloudauth.ContrastFaceVerifyAdvanceRequest{
		// 固定值。
		ProductCode: tea.String("ID_MIN_VIDEO"),
		// 請輸入場景ID。
		SceneId: tea.Int64(xxx),
		OuterOrderNo: tea.String("商戶請求的唯一標識"),
		Model: tea.String("FRONT_CAMERA_LIVENESS"),
		// 固定值IDENTITY_CARD。
		CertType: tea.String("IDENTITY_CARD"),
		CertName: tea.String("xxx"),
		CertNo: tea.String("xxx"),
		// Ip: tea.String("用戶IP地址"),
		// UserId: tea.String("用戶ID"),
		// Mobile: tea.String("130xxxxxxxx"),
		// DeviceToken: tea.String("通過設備指紋獲取的deviceToken"),
		FaceContrastFileObject: f,
		// 如需開啟個人信息加密傳輸。
		// EncryptType: tea.String("SM2"),
		// CertName: tea.String("BCRD/7ZkNy7Q*****M1BMBezZe8GaYHrLwyJv558w=="),
		// CertNo: tea.String("BMjsstxK3S4b1YH*****Pet8ECObfxmLN92SLsNg==")
	}
	response, _err := ContrastFaceVerifyAutoRoute(request)
	// 不支持服務自動路由。
	// response, _err := ContrastFaceVerify(tea.String("cloudauth.cn-shanghai.aliyuncs.com"), request)
	f.Close()
	if _err != nil {
		return _err
	}

	fmt.Println(*response.Body.RequestId)
	fmt.Println(*response.Body.Code)
	fmt.Println(*response.Body.Message)
	fmt.Println(*response.Body.ResultObject.Passed)
	fmt.Println(*response.Body.ResultObject.IdentityInfo)
	fmt.Println(*response.Body.ResultObject.SubCode)
	fmt.Println(*response.Body.ResultObject.MaterialInfo)
	return _err
}

func ContrastFaceVerifyAutoRoute (request *cloudauth.ContrastFaceVerifyAdvanceRequest) (_result *cloudauth.ContrastFaceVerifyResponse, _err error) {
	endpoints := []*string{tea.String("cloudauth.cn-shanghai.aliyuncs.com"), tea.String("cloudauth.cn-beijing.aliyuncs.com")}
	var lastResponse *cloudauth.ContrastFaceVerifyResponse
	for _, endpoint := range endpoints {
		response, _err := ContrastFaceVerify(endpoint, request)
		lastResponse = response
		if _err != nil {
			var err = &tea.SDKError{}
			if _t, ok := _err.(*tea.SDKError); ok {
				err = _t
				// 系統異常,切換到下個地域調用。
				if *err.StatusCode == 500 {
					continue
				}
			}
			return _result, _err
		}

		if *response.StatusCode == 500 {
			continue
		}

		if *response.Body.Code == "500"{
			continue
		}

		_result = response
		return _result, _err

	}
	_result = lastResponse
	return _result, _err
}

func ContrastFaceVerify (endpoint *string, request *cloudauth.ContrastFaceVerifyAdvanceRequest) (_result *cloudauth.ContrastFaceVerifyResponse, _err error) {
	client, _err := CreateClient(endpoint)
	if _err != nil {
		return _result, _err
	}

	// 創建RuntimeObject實例并設置運行參數。
	runtime := &util.RuntimeOptions{}
	runtime.ReadTimeout = tea.Int(10000)
	runtime.ConnectTimeout = tea.Int(10000)
	_result = &cloudauth.ContrastFaceVerifyResponse{}
	_body, _err := client.ContrastFaceVerifyAdvance(request, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}


func main() {
	err := _main()
	if err != nil {
		panic(err)
	}
}

使用OSS對象存儲的方式

package main

import (
	"fmt"
	cloudauth "github.com/alibabacloud-go/cloudauth-20190307/v3/client"
	openapi "github.com/alibabacloud-go/darabonba-openapi/v2/client"
	util "github.com/alibabacloud-go/tea-utils/v2/service"
	"github.com/alibabacloud-go/tea/tea"
  "github.com/aliyun/credentials-go/credentials"
)


func CreateClient (endpoint *string) (_result *cloudauth.Client, _err error) {
	//阿里云賬號AccessKey擁有所有API的訪問權限,建議您使用RAM用戶進行API訪問或日常運維。
  //強烈建議不要把AccessKey ID和AccessKey Secret保存到工程代碼里,否則可能導致AccessKey泄露,威脅您賬號下所有資源的安全。
  //本示例通過阿里云Credentials工具從環境變量中讀取AccessKey,來實現API訪問的身份驗證。
   // 初始化Credential。
	credential, _err := credentials.NewCredential(nil)
	if _err != nil {
		panic(_err)
	}
	// 初始化Client。
	config := &openapi.Config{
	// 使用Credential配置憑證。
	Credential: credential,
	Endpoint:   endpoint,
	// 設置HTTP代理。
	// HttpProxy: tea.String("http://xx.xx.xx.xx:xxxx"),
	// 設置HTTPS代理。
	// HttpsProxy: tea.String("https://username:password@xxx.xxx.xxx.xxx:9999"),
	}
	//_result = &cloudauth.Client{}
	_result, _err = cloudauth.NewClient(config)
	return _result, _err
}

func _main () (_err error) {
	request := &cloudauth.ContrastFaceVerifyRequest{
		// 固定值。
		ProductCode: tea.String("ID_MIN_VIDEO"),
		// 請輸入場景ID。
		SceneId: tea.Int64(xxx),
		OuterOrderNo: tea.String("商戶請求的唯一標識"),
		Model: tea.String("FRONT_CAMERA_LIVENESS"),
		// 固定值IDENTITY_CARD。
		CertType: tea.String("IDENTITY_CARD"),
		CertName: tea.String("xxx"),
		CertNo: tea.String("xxx"),
		// Ip: tea.String("用戶IP地址"),
		// UserId: tea.String("用戶ID"),
		// Mobile: tea.String("130xxxxxxxx"),
		// DeviceToken: tea.String("通過設備指紋獲取的deviceToken"),
		OssBucketName: tea.String("cn-shanghai-aliyun-cloudauth-xxxxx"),
		OssObjectName: tea.String("verify/xxxxx/xxxxxx.mp4"),
		// 如需開啟個人信息加密傳輸。
		// EncryptType: tea.String("SM2"),
		// CertName: tea.String("BCRD/7ZkNy7Q*****M1BMBezZe8GaYHrLwyJv558w=="),
		// CertNo: tea.String("BMjsstxK3S4b1YH*****Pet8ECObfxmLN92SLsNg==")
	}
	response, _err := ContrastFaceVerifyAutoRoute(request)
	// 不支持服務自動路由。
	//response, _err := ContrastFaceVerify(tea.String("cloudauth.cn-shanghai.aliyuncs.com"), request)
	if _err != nil {
		return _err
	}

	fmt.Println(*response.Body.RequestId)
	fmt.Println(*response.Body.Code)
	fmt.Println(*response.Body.Message)
	fmt.Println(*response.Body.ResultObject.Passed)
	fmt.Println(*response.Body.ResultObject.IdentityInfo)
	fmt.Println(*response.Body.ResultObject.SubCode)
	fmt.Println(*response.Body.ResultObject.MaterialInfo)
	fmt.Println(*response.Body.ResultObject.CertifyId)
	return _err
}

func ContrastFaceVerifyAutoRoute (request *cloudauth.ContrastFaceVerifyRequest) (_result *cloudauth.ContrastFaceVerifyResponse, _err error) {
	endpoints := []*string{tea.String("cloudauth.cn-shanghai.aliyuncs.com"), tea.String("cloudauth.cn-beijing.aliyuncs.com")}
	var lastResponse *cloudauth.ContrastFaceVerifyResponse
	for _, endpoint := range endpoints {
		response, _err := ContrastFaceVerify(endpoint, request)
		lastResponse = response
		if _err != nil {
			var err = &tea.SDKError{}
			if _t, ok := _err.(*tea.SDKError); ok {
				err = _t
				// 系統異常,切換到下個地域調用。
				if *err.StatusCode == 500 {
					continue
				}
			}
			return _result, _err
		}

		if *response.StatusCode == 500 {
			continue
		}

		if *response.Body.Code == "500"{
			continue
		}

		_result = response
		return _result, _err

	}
	_result = lastResponse
	return _result, _err
}

func ContrastFaceVerify (endpoint *string, request *cloudauth.ContrastFaceVerifyRequest) (_result *cloudauth.ContrastFaceVerifyResponse, _err error) {
	client, _err := CreateClient(endpoint)
	if _err != nil {
		return _result, _err
	}

	// 創建RuntimeObject實例并設置運行參數。
	runtime := &util.RuntimeOptions{}
	runtime.ReadTimeout = tea.Int(10000)
	runtime.ConnectTimeout = tea.Int(10000)
	_result = &cloudauth.ContrastFaceVerifyResponse{}
	_body, _err := client.ContrastFaceVerifyWithOptions(request, runtime)
	if _err != nil {
		return _result, _err
	}
	_result = _body
	return _result, _err
}


func main() {
	err := _main()
	if err != nil {
		panic(err)
	}
}