このトピックでは、ID Verification - KYC SDK を呼び出して、ID Verification - KYC をアプリと統合し、FACE_VERIFY ソリューションを実装する方法の例を紹介します。
SDK のインストールとソースコードのダウンロード
ビジネス要件に基づいて、統合用のプログラミング言語を選択できます。
プログラミング言語 | 環境要件 | SDK インストール | GitHub ソースコードアドレス |
Java | JDK 1.8 以降。 | ||
Java | Python 3.0 以降。 | ||
Python | Python 3.0 以降。 | ||
Typescript | Node.js 8.0 以降。 | ||
Go | Go 1.12.0 以降。 | Alibaba Cloud Green SDK for PHP (PHP 用 Alibaba Cloud Green SDK) | |
PHP | PHP 5.6 以降。 | Alibaba Cloud Green SDK for C# (C# 用 Alibaba Cloud Green SDK) | |
C# |
|
SDK 呼び出し例
このセクションでは、さまざまなプログラミング言語での呼び出し例を示します。
Java
次のセクションでは、この例で使用されている SDK の依存関係について説明します。SDK を呼び出すときは、最新バージョンの依存関係を取得することをお勧めします。
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>cloudauth_intl20220809</artifactId>
<version>2.0.2</version>
</dependency>
Initialize オペレーションの呼び出し例
import com.aliyun.cloudauth_intl20220809.Client;
import com.aliyun.cloudauth_intl20220809.models.InitializeRequest;
import com.aliyun.cloudauth_intl20220809.models.InitializeResponse;
import com.aliyun.teaopenapi.models.Config;
public class InitializeDemo {
public static void main(String[] args) throws Exception {
// クライアントを構築する
Config config = new Config();
config.setAccessKeyId("your access key id"); // アクセスキー ID を設定する
config.setAccessKeySecret("your access key secret"); // アクセスキーのシークレットを設定する
config.setEndpoint("cloudauth-intl.cn-hongkong.aliyuncs.com"); // エンドポイントを設定する
config.setRegionId("cn-hongkong"); // リージョン ID を設定する
Client client = new Client(config);
// リクエストを構築する
InitializeRequest request = new InitializeRequest();
request.setProductCode("FACE_VERIFY"); // プロダクトコードを設定する
request.setSceneCode("****"); // シーンコードを設定する
request.setMerchantBizId("****"); // マーチャントビジネス ID を設定する
request.setMerchantUserId("****"); // マーチャントユーザー ID を設定する
request.setMetaInfo("****"); // メタ情報を設定する
request.setSecurityLevel("****"); // セキュリティレベルを設定する
// productCode が FACE_VERIFY の場合は、facePictureBase64 または facePictureUrl を設定する
request.setFacePictureBase64("****"); // 顔画像の Base64 形式を設定する
request.setFacePictureUrl("****"); // 顔画像の URL を設定する
// API を呼び出す
InitializeResponse response = client.initialize(request);
// レスポンスから結果を取得する
Integer statusCode = response.getStatusCode(); // ステータスコードを取得する
String code = response.getBody().getCode(); // コードを取得する
String transactionId = response.getBody().getResult().getTransactionId(); // トランザクション ID を取得する
}
}
CheckResult オペレーションの呼び出し例
import com.aliyun.cloudauth_intl20220809.Client;
import com.aliyun.cloudauth_intl20220809.models.CheckResultRequest;
import com.aliyun.cloudauth_intl20220809.models.CheckResultResponse;
import com.aliyun.teaopenapi.models.Config;
public class CheckResultDemo {
public static void main(String[] args) throws Exception {
// クライアントを構築する
Config config = new Config();
config.setAccessKeyId("your access key id"); // アクセスキー ID を設定する
config.setAccessKeySecret("your access key secret"); // アクセスキーのシークレットを設定する
config.setEndpoint("cloudauth-intl.cn-hongkong.aliyuncs.com"); // エンドポイントを設定する
config.setRegionId("cn-hongkong"); // リージョン ID を設定する
Client client = new Client(config);
// リクエストを構築する
CheckResultRequest request = new CheckResultRequest();
request.setMerchantBizId("****"); // マーチャントビジネス ID を設定する
request.setTransactionId("****"); // トランザクション ID を設定する
request.setIsReturnImage("****"); // 画像を返すかどうかを設定する
// API を呼び出す
CheckResultResponse response = client.checkResult(request);
// レスポンスから結果を取得する
Integer statusCode = response.getStatusCode(); // ステータスコードを取得する
String code = response.getBody().getCode(); // コードを取得する
String passed = response.getBody().getResult().getPassed(); // 合格かどうかを取得する
String subCode = response.getBody().getResult().getSubCode(); // サブコードを取得する
String extFaceInfo = response.getBody().getResult().getExtFaceInfo(); // 顔情報拡張を取得する
}
}
PHP
次のセクションでは、この例で使用されている SDK の依存関係について説明します。SDK を呼び出すときは、最新バージョンの依存関係を取得することをお勧めします。
(推奨) Composer を使用してプロジェクトの依存関係を管理します
composer require alibabacloud/cloudauth-intl-20220809 2.0.2
composer.json ファイルを使用します
{ "require": { "alibabacloud/cloudauth-intl-20220809": "2.0.2" } }
Initialize オペレーションの呼び出し例
<?php
namespace AlibabaCloud\SDK\Sample;
use AlibabaCloud\SDK\Cloudauthintl\V20220809\Models\InitializeRequest;
use AlibabaCloud\SDK\Cloudauthintl\V20220809\Cloudauthintl;
use Darabonba\OpenApi\Models\Config;
class Initialize {
public static function main(){
// クライアントを構築する
$config = new Config([
"accessKeyId" => "your accessKeyId", // アクセスキー ID を設定する
"accessKeySecret" => "your accessKeySecret", // アクセスキーのシークレットを設定する
"endpoint" => "cloudauth-intl.cn-hongkong.aliyuncs.com" // エンドポイントを設定する
]);
$client = new Cloudauthintl($config);
// リクエストを構築する
$request = new InitializeRequest([
"productCode"=>"FACE_VERIFY", // プロダクトコードを設定する
"sceneCode"=>"****", // シーンコードを設定する
"merchantBizId"=>"****", // マーチャントビジネス ID を設定する
"merchantUserId"=>"****", // マーチャントユーザー ID を設定する
"metaInfo"=>"{\"apdi****.0.0\"}", // メタ情報を設定する
"facePictureBase64"=>"****", // 顔画像の Base64 形式を設定する
"facePictureUrl"=>"****", // 顔画像の URL を設定する
"securityLevel"=>"****" // セキュリティレベルを設定する
]);
// API を呼び出す
$response = $client->initialize($request);
// 結果を取得する
var_dump($response->statusCode); // ステータスコードを取得する
var_dump($response->body->requestId); // リクエスト ID を取得する
var_dump($response->body->result->transactionId); // トランザクション ID を取得する
}
}
$path = __DIR__ . \DIRECTORY_SEPARATOR . \DIRECTORY_SEPARATOR . 'vendor' . \DIRECTORY_SEPARATOR . 'autoload.php';
if (file_exists($path)) {
require_once $path;
}
Initialize::main();
CheckResult オペレーションの呼び出し例
<?php
namespace AlibabaCloud\SDK\Sample;
use AlibabaCloud\SDK\Cloudauthintl\V20220809\Models\CheckResultRequest;
use AlibabaCloud\SDK\Cloudauthintl\V20220809\Cloudauthintl;
use Darabonba\OpenApi\Models\Config;
class CheckResult {
public static function main(){
// クライアントを構築する
$config = new Config([
"accessKeyId" => "your accessKeyId", // アクセスキー ID を設定する
"accessKeySecret" => "your accessKeySecret", // アクセスキーのシークレットを設定する
"endpoint" => "cloudauth-intl.cn-hongkong.aliyuncs.com" // エンドポイントを設定する
]);
$client = new Cloudauthintl($config);
// リクエストを構築する
$request = new CheckResultRequest([
"merchantBizId"=>"***", // マーチャントビジネス ID を設定する
"transactionId"=>"G00000****05816" // トランザクション ID を設定する
]);
// API を呼び出す
$response = $client->checkResult($request);
// 結果を取得する
var_dump($response->statusCode); // ステータスコードを取得する
var_dump($response->body->requestId); // リクエスト ID を取得する
var_dump($response->body->result->passed); // 合格かどうかを取得する
var_dump($response->body->result->subCode); // サブコードを取得する
var_dump($response->body->result->extFaceInfo); // 顔情報拡張を取得する
}
}
$path = __DIR__ . \DIRECTORY_SEPARATOR . \DIRECTORY_SEPARATOR . 'vendor' . \DIRECTORY_SEPARATOR . 'autoload.php';
if (file_exists($path)) {
require_once $path;
}
CheckResult::main();
Python
依存関係をインストールします。
pip install alibabacloud_tea_openapi==0.2.5
SDK をインストールします。 SDK を呼び出すときは、最新バージョンの依存関係を取得することをお勧めします。
pip install alibabacloud_cloudauth_intl20220809==2.0.2
Initialize オペレーションの呼び出し例
from alibabacloud_cloudauth_intl20220809.client import Client as CloudauthClient
from alibabacloud_cloudauth_intl20220809 import models as cloudauth_models
from alibabacloud_tea_openapi import models as open_api_models
class Initialize:
def __init__(self):
pass
@staticmethod
def main() -> None:
# クライアントを構築する
config = open_api_models.Config(
access_key_id='your access_key_id', # アクセスキー ID を設定する
access_key_secret='your access_key_secret', # アクセスキーのシークレットを設定する
endpoint="cloudauth-intl.cn-hongkong.aliyuncs.com" # エンドポイントを設定する
)
client = CloudauthClient(config)
# リクエストを構築する
request = cloudauth_models.InitializeRequest(
merchant_biz_id="***", # マーチャントビジネス ID を設定する
merchant_user_id="***", # マーチャントユーザー ID を設定する
meta_info="{\"apdid****mVer\":\"1.0.0\"}", # メタ情報を設定する
face_picture_base_64="dsfafdaf", # 顔画像の Base64 形式を設定する
face_picture_url="***", # 顔画像の URL を設定する
product_code="FACE_VERIFY", # プロダクトコードを設定する
scene_code="1234567890", # シーンコードを設定する
security_level="02" # セキュリティレベルを設定する
)
# API を呼び出す
response = client.initialize(request)
# 結果を取得する
print(response.status_code) # ステータスコードを取得する
print(response.body.request_id) # リクエスト ID を取得する
print(response.body.result.transaction_id) # トランザクション ID を取得する
if __name__ == '__main__':
Initialize.main()
CheckResult オペレーションの呼び出し例
from alibabacloud_cloudauth_intl20220809.client import Client as CloudauthClient
from alibabacloud_cloudauth_intl20220809 import models as cloudauth_models
from alibabacloud_tea_openapi import models as open_api_models
class CheckResult:
def __init__(self):
pass
@staticmethod
def main() -> None:
# クライアントを構築する
config = open_api_models.Config(
access_key_id='your access_key_id', # アクセスキー ID を設定する
access_key_secret='your access_key_secret', # アクセスキーのシークレットを設定する
endpoint="cloudauth-intl.cn-hongkong.aliyuncs.com" # エンドポイントを設定する
)
client = CloudauthClient(config)
# リクエストを構築する
request = cloudauth_models.CheckResultRequest(
transaction_id="****", # トランザクション ID を設定する
merchant_biz_id="****" # マーチャントビジネス ID を設定する
)
# API を呼び出す
response = client.check_result(request)
# 結果を取得する
print(response.status_code) # ステータスコードを取得する
print(response.body.request_id) # リクエスト ID を取得する
print(response.body.result.passed) # 合格かどうかを取得する
print(response.body.result.sub_code) # サブコードを取得する
print(response.body.result.ext_face_info) # 顔情報拡張を取得する
if __name__ == '__main__':
CheckResult.main()
Go
依存関係をインストールします。
go get github.com/alibabacloud-go/darabonba-openapi go get github.com/alibabacloud-go/tea
SDK をインストールします。 SDK を呼び出すときは、最新バージョンの依存関係を取得することをお勧めします。
git clone --branch v2.0.2 github.com/alibabacloud-go/cloudauth-intl-20220809/v2
Initialize オペレーションの呼び出し例
package main
import (
"fmt"
openapi "github.com/alibabacloud-go/darabonba-openapi/client"
cloudauth "github.com/alibabacloud-go/cloudauth-intl-20220809/client"
"github.com/alibabacloud-go/tea/tea"
)
func main() {
config := &openapi.Config{
AccessKeyId: tea.String("your AccessKeyId"), // アクセスキー ID を設定する
AccessKeySecret: tea.String("your AccessKeySecret"), // アクセスキーのシークレットを設定する
Endpoint: tea.String("cloudauth-intl.cn-hongkong.aliyuncs.com"), // エンドポイントを設定する
}
client, _ := cloudauth.NewClient(config)
request := &cloudauth.InitializeRequest{
ProductCode : tea.String("****"), // プロダクトコードを設定する
SceneCode : tea.String("****"), // シーンコードを設定する
MetaInfo : tea.String("{\"apdidT****.0.0\"}"), // メタ情報を設定する
FacePictureBase64 : tea.String("****"), // 顔画像の Base64 形式を設定する
FacePictureUrl : tea.String("****"), // 顔画像の URL を設定する
MerchantBizId : tea.String("****"), // マーチャントビジネス ID を設定する
MerchantUserId : tea.String("****"), // マーチャントユーザー ID を設定する
SecurityLevel : tea.String("****"), // セキュリティレベルを設定する
}
response, err := client.Initialize(request)
if err != nil{
fmt.Println(err)
return
}
fmt.Println(*response.Body.RequestId) // リクエスト ID を出力する
fmt.Println(*response.Body.Result.TransactionId) // トランザクション ID を出力する
}
CheckResult オペレーションの呼び出し例
package main
import (
"fmt"
openapi "github.com/alibabacloud-go/darabonba-openapi/client"
cloudauth "github.com/alibabacloud-go/cloudauth-intl-20220809/client"
"github.com/alibabacloud-go/tea/tea"
)
func main() {
config := &openapi.Config{
AccessKeyId: tea.String("your AccessKeyId"), // アクセスキー ID を設定する
AccessKeySecret: tea.String("your AccessKeySecret"), // アクセスキーのシークレットを設定する
Endpoint: tea.String("cloudauth-intl.cn-hongkong.aliyuncs.com"), // エンドポイントを設定する
}
client, _ := cloudauth.NewClient(config)
request := &cloudauth.CheckResultRequest{
MerchantBizId : tea.String("****"), // マーチャントビジネス ID を設定する
TransactionId : tea.String("G00****00911"), // トランザクション ID を設定する
}
response, err := client.CheckResult(request)
if err != nil{
fmt.Println(err)
return
}
fmt.Println(*response.Body.RequestId) // リクエスト ID を出力する
fmt.Println(*response.Body.Result.Passed) // 合格かどうかを出力する
fmt.Println(*response.Body.Result.SubCode) // サブコードを出力する
fmt.Println(*response.Body.Result.ExtFaceInfo) // 顔情報拡張を出力する
}
.NET
次のセクションでは、この例で使用されている SDK の依存関係について説明します。SDK を呼び出すときは、最新バージョンの依存関係を取得することをお勧めします。
.NET CLI を使用して SDK をインストールします
dotnet add package AlibabaCloud.SDK.Cloudauth-intl20220809 --version 2.0.2
インストールパッケージを使用して SDK をインストールします
Install-Package AlibabaCloud.SDK.Cloudauth_intl20220809 -Version 2.0.2
Initialize オペレーションの呼び出し例
using AlibabaCloud.SDK.Cloudauth_intl20220809.Models;
namespace Demo
{
public class InitializeDemo
{
public static void Main(string[] args) {
// クライアントを構築する
AlibabaCloud.OpenApiClient.Models.Config config = new AlibabaCloud.OpenApiClient.Models.Config()
{
AccessKeyId = "your access key id", // アクセスキー ID を設定する
AccessKeySecret = "your access key secret", // アクセスキーのシークレットを設定する
Endpoint = "cloudauth-intl.cn-hongkong.aliyuncs.com", // エンドポイントを設定する
};
AlibabaCloud.SDK.Cloudauth_intl20220809.Client client = new AlibabaCloud.SDK.Cloudauth_intl20220809.Client(config);
// リクエストを構築する
AlibabaCloud.SDK.Cloudauth_intl20220809.Models.InitializeRequest request = new AlibabaCloud.SDK.Cloudauth_intl20220809.Models.InitializeRequest
{
ProductCode = "FACE_VERIFY", // プロダクトコードを設定する
SceneCode = "****", // シーンコードを設定する
MerchantBizId = "****", // マーチャントビジネス ID を設定する
MerchantUserId = "****", // マーチャントユーザー ID を設定する
MetaInfo = "****", // メタ情報を設定する
FacePictureBase64 = "****", // 顔画像の Base64 形式を設定する
FacePictureUrl = "****", // 顔画像の URL を設定する
SecurityLevel = "****", // セキュリティレベルを設定する
};
// API を呼び出す
InitializeResponse response = client.Initialize(request);
// 結果を取得する
Console.WriteLine(response.StatusCode); // ステータスコードを出力する
Console.WriteLine(response.Body.RequestId); // リクエスト ID を出力する
Console.WriteLine(response.Body.Code); // コードを出力する
Console.WriteLine(response.Body.Message); // メッセージを出力する
Console.WriteLine(response.Body.Result.TransactionId); // トランザクション ID を出力する
}
}
}
CheckResult オペレーションの呼び出し例
using AlibabaCloud.SDK.Cloudauth_intl20220809.Models;
namespace Demo
{
public class CheckResultDemo
{
public static void Main(string[] args)
{
// クライアントを構築する
AlibabaCloud.OpenApiClient.Models.Config config = new AlibabaCloud.OpenApiClient.Models.Config()
{
AccessKeyId = "your access key id", // アクセスキー ID を設定する
AccessKeySecret = "your access key secret", // アクセスキーのシークレットを設定する
Endpoint = "cloudauth-intl.cn-hongkong.aliyuncs.com", // エンドポイントを設定する
};
AlibabaCloud.SDK.Cloudauth_intl20220809.Client client = new AlibabaCloud.SDK.Cloudauth_intl20220809.Client(config);
// リクエストを構築する
AlibabaCloud.SDK.Cloudauth_intl20220809.Models.CheckResultRequest request = new AlibabaCloud.SDK.Cloudauth_intl20220809.Models.CheckResultRequest
{
TransactionId = "****", // トランザクション ID を設定する
MerchantBizId = "****", // マーチャントビジネス ID を設定する
};
// API を呼び出す
CheckResultResponse response = client.CheckResult(request);
// 結果を取得する
Console.WriteLine(response.StatusCode); // ステータスコードを出力する
Console.WriteLine(response.Body.RequestId); // リクエスト ID を出力する
Console.WriteLine(response.Body.Code); // コードを出力する
Console.WriteLine(response.Body.Message); // メッセージを出力する
Console.WriteLine(response.Body.Result.Passed); // 合格かどうかを出力する
Console.WriteLine(response.Body.Result.SubCode); // サブコードを出力する
Console.WriteLine(response.Body.Result.ExtFaceInfo); // 顔情報拡張を出力する
}
}
}
Node.js
依存関係をインストールします。
npm install @alicloud/openapi-client
SDK をインストールします。 SDK を呼び出すときは、最新バージョンの依存関係を取得することをお勧めします。
npm install @alicloud/cloudauth-intl20220809@2.0.2
Initialize オペレーションの呼び出し例
const {Config} = require("@alicloud/openapi-client");
const CloudAuth = require("@alicloud/cloudauth-intl20220809");
const Client = CloudAuth.default;
async function main(){
// クライアントを構築する
const config = new Config({
accessKeyId: "your accessKeyId", // アクセスキー ID を設定する
accessKeySecret: "your accessKeySecret", // アクセスキーのシークレットを設定する
endpoint: "cloudauth-intl.cn-hongkong.aliyuncs.com" // エンドポイントを設定する
});
const client = new Client(config);
// リクエストを構築する
const request = new CloudAuth.InitializeRequest({
productCode: "FACE_VERIFY", // プロダクトコードを設定する
sceneCode: "***", // シーンコードを設定する
metaInfo : "***", // メタ情報を設定する
facePictureBase64 : "***", // 顔画像の Base64 形式を設定する
facePictureUrl : "***", // 顔画像の URL を設定する
merchantBizId : "***", // マーチャントビジネス ID を設定する
merchantUserId : "***", // マーチャントユーザー ID を設定する
securityLevel: "***", // セキュリティレベルを設定する
});
// API を呼び出す
const response = await client.initialize(request);
// 結果を取得する
console.log(response.body.requestId); // リクエスト ID を出力する
console.log(response.body.result.transactionId); // トランザクション ID を出力する
}
main().then(function (response) {});
CheckResult オペレーションの呼び出し例
const {Config} = require("@alicloud/openapi-client");
const CloudAuth = require("@alicloud/cloudauth-intl20220809");
const Client = CloudAuth.default;
async function main(){
// クライアントを構築する
const config = new Config({
accessKeyId: "your accessKeyId", // アクセスキー ID を設定する
accessKeySecret: "your accessKeySecret", // アクセスキーのシークレットを設定する
endpoint: "cloudauth-intl.cn-hongkong.aliyuncs.com" // エンドポイントを設定する
});
const client = new Client(config);
// リクエストを構築する
const request = new CloudAuth.CheckResultRequest({
merchantBizId: "XXXX", // マーチャントビジネス ID を設定する
transactionId: "G00000****500911" // トランザクション ID を設定する
});
// API を呼び出す
const response = await client.checkResult(request);
// 結果を取得する
console.log(response.body.requestId); // リクエスト ID を出力する
console.log(response.body.result.passed); // 合格かどうかを出力する
console.log(response.body.result.subCode); // サブコードを出力する
console.log(response.body.result.extFaceInfo); // 顔情報拡張を出力する
}
main().then(function (response) {});