Java SDK
阿里云API调试工具OpenAPI Explore提供OpenAPI文档、API调试和SDK示例,帮助您快速入门API开发。本文介绍如何安装和快速使用智能媒体管理Java SDK。
前提条件
- 已创建并获取AccessKey。具体操作,请参见创建AccessKey。
- 已开通OSS服务、创建存储空间并上传文件到存储空间。具体操作,请参见控制台上传文件。
- 已开通智能媒体管理服务。具体操作,请参见开通产品。
已通过智能媒体管理控制台创建项目。具体操作,请参见创建项目。
说明您也可以调用API接口创建项目。具体操作,请参见CreateProject - 创建项目。
您可以调用ListProjects - 列出所有项目信息的列表接口列出指定地域下已创建的所有项目信息。
安装SDK
重要
调用2020-09-30版本的API,需要使用2020-09-30版本的SDK。
使用智能媒体管理Java SDK的操作步骤请参见快速入门。
使用方法
如下以在华东1(杭州)地域中检测图片中的人脸及人脸信息为例介绍如何使用智能媒体管理Java SDK。
说明
复制使用如下示例代码时请将访问域名换成您的IMM项目所在Region的域名,并且IMM项目和OSS文件Region需要保持一致。
package com.aliyun.sample;
import com.aliyun.imm20200930.Client;
import com.aliyun.imm20200930.models.DetectImageFacesRequest;
import com.aliyun.imm20200930.models.DetectImageFacesResponse;
import com.aliyun.teaopenapi.models.Config;
public class Sample {
// 填写项目名称。请确保已创建该项目。
static String projectName = "imm-java-sdk-doc-demo";
// 填写图片OSS URI。
static String sourceURI = "oss://your-bucket-name/your-path/your-image.jpg";
// 阿里云账号AccessKey拥有所有API的访问权限,建议您使用RAM用户进行API访问或日常运维。
// 强烈建议不要把AccessKey ID和AccessKey Secret保存到工程代码里,否则可能导致AccessKey泄露,威胁您账号下所有资源的安全。
// 本示例通过从环境变量中读取AccessKey,来实现API访问的身份验证。如何配置环境变量,请参见https://help.aliyun.com/document_detail/2361894.html。
static String immAccessKeyId = System.getenv("AccessKeyId");
static String immAccessKeySecret = System.getenv("AccessKeySecret");
public static void main(String[] args) {
Config config = new Config()
.setRegionId("cn-hangzhou") // 填写项目所在地域ID。
.setAccessKeyId(immAccessKeyId)
.setAccessKeySecret(immAccessKeySecret);
Client client = null;
try {
client = new Client(config);
} catch (Exception e) {
throw new RuntimeException(e);
}
// 构造检测图片中的人脸及人脸信息请求。
DetectImageFacesRequest detectImageFacesRequest = new DetectImageFacesRequest();
detectImageFacesRequest.setProjectName(Sample.projectName);
detectImageFacesRequest.setSourceURI(Sample.sourceURI);
// 发起请求。
DetectImageFacesResponse detectImageFacesResponse = null;
try {
detectImageFacesResponse = client.detectImageFaces(detectImageFacesRequest);
} catch (Exception e) {
throw new RuntimeException(e);
}
// 打印响应结果Body信息。
System.out.println(detectImageFacesResponse.body.toMap());
}
}
运行后输出结果如下。
{
"faces": [
{
"attractive": 0.9810000061988831,
"beard": "none",
"beardConfidence": 0.9990000128746033,
"boundary": {
"height": 320,
"left": 217,
"top": 169,
"width": 226
},
"emotion": "happiness",
"emotionConfidence": 1,
"faceQuality": 0.9869999885559082,
"figureClusterId": "figure-cluster-id-unavailable",
"figureConfidence": 1,
"figureId": "92b7ed67-6344-4410-b5ed-****",
"figureType": "face",
"glasses": "none",
"glassesConfidence": 0.9990000128746033,
"hat": "none",
"hatConfidence": 1,
"headPose": {
"pitch": -17.742000579833984,
"roll": 3.2850000858306885,
"yaw": -0.7279999852180481
},
"mask": "none",
"maskConfidence": 0.7559999823570251,
"mouth": "open",
"mouthConfidence": 1,
"sharpness": 1,
...
}
],
"requestId": "5BE08720-554C-566F-A642-****"
}