服务端API接口

本文介绍人脸保镖单独集成方案的服务端构建方法。

集成须知

重要

集成前请确认您已了解并完成接入前提的信息和操作。具体信息,请参见前提条件

服务接入点

目前支持的接入地域如下表所示。

重要

建议您参考本文示例代码,配置主备地域Endpoint。在主Endpoint发生故障时可以自动切换到备用Endpoint,保证系统的持续可用性。

地域

服务地址

VPC地址

全局接入地址

华东2(上海)

IPv4:cloudauth.cn-shanghai.aliyuncs.com

cloudauth-vpc.cn-shanghai.aliyuncs.com

  • IPv4:cloudauth.aliyuncs.com

  • IPv6:cloudauth-dualstack.aliyuncs.com

IPv6:cloudauth-dualstack.aliyuncs.com

华北2(北京)

IPv4:cloudauth.cn-beijing.aliyuncs.com

cloudauth-vpc.cn-beijing.aliyuncs.com

IPv6:cloudauth-dualstack.cn-beijing.aliyuncs.com

SDK安装和下载

您可以在SDK中心获取不同编程语言SDK的包管理器安装方法和离线包。

image

image

QPS限量

API独享QPS限量,详情请参见服务端接口QPS限量说明

接口说明

  • 接口名:DescribeFaceGuardRisk

  • 全局接入地址:cloudauth.aliyuncs.com(IPv4)或cloudauth-dualstack.aliyuncs.com(IPv6)

  • 请求方法:POSTGET

  • 传输协议:HTTPS

  • 重要

    人脸保镖按照查询成功计量,建议您同一个 Device Token 查询成功后不要再重复查询,避免重复计量。

请求参数

名称

类型

是否必选

描述

示例值

ProductCode

String

固定值,传FACE_GUARD

FACE_GUARD

OuterOrderNo

String

您自定义的业务唯一标识,用于后续定位排查问题,支持长度为32位的字母和数字的组合,请确保唯一。

e0c34a77f5ac40a5aa5e6ed20c35****

BizId

String

本次业务认证的唯一ID,主要配合人脸保镖用于查询时校验。

1000******0001

DeviceToken

String

通过人脸保镖客户端SDK获取的deviceToken

Tk9SSUQuMS*****************ZDNmNWY5NzQxOW1o

返回参数

名称

类型

描述

示例值

RequestId

String

请求ID。

130A2C10-B9EE-4D84-88E3-5384FF039795

Message

String

请求信息的响应消息。

success

Code

String

返回码,200指接口响应成功。详细认证结果判断,请参见返回CodeMessage

200

ResultObject.RiskTags

String

设备风险标签。

ROOT,VPN,HOOK

说明

多个设备风险标签以半角逗号(,)分隔。

您可以通过设备风险标签了解所有标签及其含义。

ResultObject.RiskExtends

String

拓展信息。

默认为空。

SDK调用示例

调用示例默认使用Java语言演示,其他语言示例参见其他语言支持

环境变量和依赖

调用接口

package com.aliyun.Sample.Cloudauth20190307;

import com.aliyun.cloudauth20190307.models.DescribeFaceGuardRiskResponse;
import com.aliyun.tea.TeaException;
import com.google.gson.Gson;

import java.util.UUID;


public class DescribeFaceGuardRiskDemo {

    public static com.aliyun.cloudauth20190307.Client createClient() throws Exception {
        // 工程代码泄露可能会导致 AccessKey 泄露,并威胁账号下所有资源的安全性。以下代码示例仅供参考。
        // 建议使用更安全的 STS 方式,更多鉴权访问方式请参见:https://help.aliyun.com/zh/sdk/developer-reference/v2-manage-access-credentials
        com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
                // 必填,请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_ID。
                .setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
                // 必填,请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_SECRET。
                .setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
        // Endpoint 请参考 https://api.aliyun.com/product/Cloudauth
        config.endpoint = "cloudauth.aliyuncs.com";
        return new com.aliyun.cloudauth20190307.Client(config);
    }

    public static void main(String[] args_) throws Exception {
        //client只需要创建一遍
        com.aliyun.cloudauth20190307.Client client = DescribeFaceGuardRiskDemo.createClient();

        //发起请求
        com.aliyun.cloudauth20190307.models.DescribeFaceGuardRiskRequest describeFaceGuardRiskRequest = new com.aliyun.cloudauth20190307.models.DescribeFaceGuardRiskRequest()
                .setProductCode("FACE_GUARD")
                .setDeviceToken("<客户端获取的DeviceToken>")
                .setOuterOrderNo("7648ae2ce2ad423ea8a8d6de1676****")
                .setBizId(UUID.randomUUID().toString());
        com.aliyun.teautil.models.RuntimeOptions runtime = new com.aliyun.teautil.models.RuntimeOptions()
                .setReadTimeout(3000)
                .setConnectTimeout(3000);
        try {
            // 调用DescribeFaceGuardRisk接口,获取识别结果。
            DescribeFaceGuardRiskResponse response = client.describeFaceGuardRiskWithOptions(describeFaceGuardRiskRequest, runtime);
            System.out.println(new Gson().toJson(response));
        } catch (TeaException error) {
            // 此处仅做打印展示,请谨慎对待异常处理,在工程项目中切勿直接忽略异常。
            // 错误 message
            System.out.println(error.getMessage());
            // 诊断地址
            System.out.println(error.getData().get("Recommend"));
            com.aliyun.teautil.Common.assertAsString(error.message);
        } catch (Exception _error) {
            TeaException error = new TeaException(_error.getMessage(), _error);
            // 此处仅做打印展示,请谨慎对待异常处理,在工程项目中切勿直接忽略异常。
            // 错误 message
            System.out.println(error.getMessage());
            // 诊断地址
            System.out.println(error.getData().get("Recommend"));
            com.aliyun.teautil.Common.assertAsString(error.message);
        }
    }
}

其他语言支持

您可以在OpenAPI平台中查看其他语言的SDK调用示例。

每种语言对应的SDK安装信息在示例代码的右上角可以查看。

image