服务端API接口
本文介绍人脸保镖单独集成方案的服务端构建方法。
集成须知
集成前请确认您已了解并完成接入前提的信息和操作。具体信息,请参见前提条件。
服务接入点
SDK安装和下载
QPS限量
接口说明
接口名:DescribeFaceGuardRisk
全局接入地址:cloudauth.aliyuncs.com(IPv4)或cloudauth-dualstack.aliyuncs.com(IPv6)
请求方法:POST和GET
传输协议: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指接口响应成功。详细认证结果判断,请参见返回Code和Message。 | 200 |
ResultObject.RiskTags | String | 设备风险标签。多个设备风险标签以半角逗号 | ROOT,VPN,HOOK |
ResultObject.RiskExtends | String | 拓展信息。 | 默认为空。 |
SDK调用示例
调用示例默认使用Java语言演示,其他语言示例参见其他语言支持。
环境变量和依赖
- 重要
集成前请确认您已获取AccessKey,并已配置环境变量。具体操作,请参见:
在Java工程的
pom.xml
中引入依赖。重要SDK依赖请使用最新版本,并在测试稳定后固定版本号,最新版本和离线包,请参见集成须知>SDK安装和下载。
<dependency> <groupId>com.aliyun</groupId> <artifactId>cloudauth20190307</artifactId> <version>LATEST</version> </dependency>
调用接口
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安装信息在示例代码的右上角可以查看。