文档

TypeScript SDK

更新时间:

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

前提条件

安装SDK

重要

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

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

使用方法

如下以使用1.27.5版本的TypeScript SDK在华东1(杭州)地域中检测图片中的人脸及人脸信息为例介绍如何使用智能媒体管理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-hangzhou.aliyuncs.com`;
        return new imm20200930(config);
      }
    
      static async main(args: string[]): 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.AccessKeyId;
        const imm_access_key_secret = process.env.AccessKeySecret;
        // 创建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(process.argv.slice(2));
  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)
文档反馈