C++ SDK

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

前提条件

安装SDK

重要

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

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

使用方法

如下以在华东1(杭州)地域中检测图片中的人脸及人脸信息为例介绍如何使用智能媒体管理C++ SDK。

说明

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

#include <cstdlib>
#include <iostream>
#include <string>
#include <alibabacloud/core/AlibabaCloud.h>
#include <imm/ImmClient.h>

using namespace std;
using namespace AlibabaCloud;
using namespace AlibabaCloud::Imm;
    
int main( int argc, char** argv )
{
    AlibabaCloud::InitializeSdk();
    // 填写项目所在地域ID。
    AlibabaCloud::ClientConfiguration configuration( "cn-hangzhou" );
    // 阿里云账号AccessKey拥有所有API的访问权限,建议您使用RAM用户进行API访问或日常运维。
    // 强烈建议不要把AccessKey ID和AccessKey Secret保存到工程代码里,否则可能导致AccessKey泄露,威胁您账号下所有资源的安全。
    // 本示例通过从环境变量中读取AccessKey,来实现API访问的身份验证。如何配置环境变量,请参见https://help.aliyun.com/document_detail/2361894.html。
    const char *AccessKeyId = std::getenv("AccessKeyId");
    const char *AccessKeySecret = std::getenv("AccessKeySecret");
    AlibabaCloud::Credentials credential( AccessKeyId, AccessKeySecret );

    ImmClient client( credential, configuration );

    Model::DetectImageFacesRequest request;
    // IMM Project名称。
    request.setProjectName("immtest");
    // 待检测的图片OSS URI。
    request.setSourceURI("oss://test-bucket/test-object.jpg");
    //发起请求。
    auto outcome = client.detectImageFaces( request );
    if ( !outcome.isSuccess() )
    {
        std::cout << outcome.error().errorCode() << std::endl;
        AlibabaCloud::ShutdownSdk();
        return(-1);
    }
    
    std::cout << "totalCount: " << outcome.result().getTotalCount() << std::endl;
    
    AlibabaCloud::ShutdownSdk();
    return 0;
}