文档

TypeScript SDK

更新时间:

阿里云API调试工具OpenAPI Explore提供OpenAPI文档、API调试和SDK示例,帮助您快速入门API开发。本文介绍如何安装和使用智能媒体管理TypeScript SDK。

前提条件

安装SDK

重要

调用2020-09-30版本的API,需要使用2020-09-30版本的SDK。

使用智能媒体管理TypeScript SDK的操作步骤请参见快速入门

  1. 创建项目目录,并进入该目录。

  2. 执行以下命令初始化。

    npm init
  3. 按照向导提示进行配置。初始化完成后,会自动创建一个package.json文件。其文件内容示例如下:

    {
      "name": "resources",
      "version": "1.0.0",
      "description": "",
      "main": "demo.js",
      "scripts": {
        "test": "echo \"Error: no test specified\" && exit 1"
      },
      "author": "",
      "license": "ISC"
    }
  4. 执行以下命令安装TypeScript SDK和代码所需依赖。

    npm install aliyun-sdk
    npm install --save @alicloud/imm2020093  
    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。

  1. 创建demo.ts文件并写入如下内容。

    说明

    复制使用如下示例代码时请将访问域名换成您的IMM项目所在Region的域名,并且IMM项目和OSS文件Region需要保持一致。

    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();
  2. 执行如下命令将demo.ts转换为JavaScript代码,转换完生成demo.js文件。

    tsc demo.ts

  3. 执行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-****"
    }

  • 本页导读 (1)