阿里云API调试工具OpenAPI Explore提供OpenAPI文档、API调试和SDK示例,帮助您快速入门API开发。本文介绍如何安装和使用智能媒体管理TypeScript SDK。
前提条件
已创建并获取AccessKey。具体操作,请参见创建AccessKey。
已开通OSS服务、创建存储空间并上传文件到存储空间。具体操作,请参见控制台上传文件。
已开通智能媒体管理服务。具体操作,请参见开通产品。
已通过智能媒体管理控制台创建项目。具体操作,请参见创建项目。
说明您也可以调用API接口创建项目。具体操作,请参见CreateProject - 创建项目。
您可以调用ListProjects - 列出所有项目信息的列表接口列出指定地域下已创建的所有项目信息。
安装SDK
重要
调用2020-09-30版本的API,需要使用2020-09-30版本的SDK。
使用智能媒体管理TypeScript SDK的操作步骤请参见快速入门。
创建项目目录,并进入该目录。
执行以下命令初始化。
npm init
按照向导提示进行配置。初始化完成后,会自动创建一个package.json文件。其文件内容示例如下:
{ "name": "resources", "version": "1.0.0", "description": "", "main": "demo.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "", "license": "ISC" }
执行以下命令安装TypeScript SDK和代码所需依赖。
npm install aliyun-sdk npm install --save @alicloud/imm/20200930 npm install --save @alicloud/openapi-client npm install --save @alicloud/tea-util npm install --save @alicloud/tea-typescript npm install -g typescript
使用方法
如下以使用20.10.0版本的TypeScript SDK在华东2(北京)地域中检测图片中的人脸以及人脸信息为例,介绍如何使用智能媒体管理TypeScript SDK。
创建demo.ts文件并写入如下内容。
import imm20200930, * as $imm20200930 from '@alicloud/imm20200930'; import OpenApi, * as $OpenApi from '@alicloud/openapi-client'; import Util, * as $Util from '@alicloud/tea-util'; import * as $tea from '@alicloud/tea-typescript'; export default class Client { /** * 使用AccessKey ID和AccessKey Secret初始化账号Client。 * @param accessKeyId * @param accessKeySecret * @return Client * @throws Exception */ static createClient(accessKeyId: string, accessKeySecret: string): imm20200930 { let config = new $OpenApi.Config({ accessKeyId: accessKeyId, accessKeySecret: accessKeySecret, }); // 填写访问域名。 config.endpoint = `imm.cn-beijing.aliyuncs.com`; return new imm20200930(config); } static async main(): Promise<void> { // 阿里云账号AccessKey拥有所有API的访问权限,建议您使用RAM用户进行API访问或日常运维。 // 强烈建议不要把AccessKey ID和AccessKey Secret保存到工程代码里,否则可能导致AccessKey泄露,威胁您账号下所有资源的安全。 // 本示例通过从环境变量中读取AccessKey,来实现API访问的身份验证。如何配置环境变量,请参见https://help.aliyun.com/document_detail/2361894.html。 const imm_access_key_id = process.env.ALIBABA_CLOUD_ACCESS_KEY_ID; const imm_access_key_secret = process.env.ALIBABA_CLOUD_ACCESS_KEY_SECRET; // 创建Client。 let client = Client.createClient(imm_access_key_id, imm_access_key_secret); // 创建API请求并设置参数。 let detectImageFacesRequest = new $imm20200930.DetectImageFacesRequest({ // 填写IMM项目名称。 projectName: "immtest", sourceURI: "oss://your-bucket-name/your-path/your-image.jpg" }); let runtime = new $Util.RuntimeOptions({ }); try { // 打印API的返回值。 let response = await client.detectImageFacesWithOptions(detectImageFacesRequest, runtime); console.log(JSON.stringify(response.body)); } catch (error) { // 如有需要,请打印错误信息。 Util.assertAsString(error.message); console.log(error); } } } Client.main();
执行如下命令将demo.ts转换为JavaScript代码,转换完生成demo.js文件。
tsc demo.ts
执行
node demo.js
命令,控制台输出结果如下。{ "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-****" }
文档内容是否对您有帮助?