文档

使用说明

更新时间:

我们为您提供了智能对话分析Java SDK以及阿里云核心库的Maven项目依赖及JAR包,您可以编写代码调用SDK来实现智能对话分析服务的访问。

注意事项

  • 如果您还未开通或者还不了解阿里云智能对话分析服务,请前往产品主页获取更多信息。

  • 以下文档适用于版本号大于3.0.0的SDK。

  • 本文向您介绍智能对话分析Java SDK的安装、使用及注意事项。

    关于Java SDK的更多说明,请参见阿里云SDK文档

  • 如果您还未创建AccessKeyID和AccessKeySecret,请到阿里云Access Key管理来创建AccessKey

    阿里云账号AccessKey拥有所有API的访问权限,如泄露会影响。强烈建议您创建并使用RAM用户进行API访问或日常运维。相关操作,请参见创建RAM用户

  • 各API详细出入参说明请查看左侧目录中的开发指南 > API参考文档,例如上传音频质检

下载SDK

推荐使用Maven管理依赖,当前SDK最新版本号可在https://github.com/aliyun/aliyun-openapi-java-sdk/blob/master/aliyun-java-sdk-qualitycheck/ChangeLog.txt中查看。

在pom.xml中添加如下依赖:

       <dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>aliyun-java-sdk-qualitycheck</artifactId>
            <version>3.0.7</version>
        </dependency>
	<dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>aliyun-java-sdk-core</artifactId>
            <version>4.0.6</version>
        </dependency>

配置访问凭证

配置环境变量SCA_AK_ENVSCA_SK_ENV

  • Linux和macOS系统配置方法

    执行以下命令:

    export SCA_AK_ENV=<access_key_id>
    export SCA_SK_ENV=<access_key_secret>

    <access_key_id>替换为已准备好的AccessKey ID,<access_key_secret>替换为AccessKey Secret。

  • Windows系统配置方法

    1. 新建环境变量,添加环境变量SCA_AK_ENVSCA_SK_ENV,并写入已准备好的AccessKey ID和AccessKey Secret。

    2. 重启Windows系统。

调用示例

import com.aliyuncs.http.FormatType;
import com.aliyuncs.qualitycheck.model.v20190115.UploadDataRequest;
import com.aliyuncs.qualitycheck.model.v20190115.UploadDataResponse;
import org.junit.Before;
import org.junit.Test;
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.exceptions.ServerException;
import com.aliyuncs.http.HttpResponse;
import com.aliyuncs.profile.DefaultProfile;
import com.aliyuncs.profile.IClientProfile;
public class TestApi {
    IAcsClient client = null;
    @Before
    public void init() throws ClientException {
        // 阿里云账号AccessKey拥有所有API的访问权限,建议您使用RAM用户进行API访问或日常运维。
        // 强烈建议不要把AccessKey ID和AccessKey Secret保存到工程代码里,否则可能导致AccessKey泄露,威胁您账号下所有资源的安全。
      	// 本示例以将AccessKey ID和AccessKey Secret保存在环境变量为例说明。您也可以根据业务需要,保存到配置文件里。
        String accessKeyId = System.getenv("SCA_AK_ENV");
        String accessKeySecret = System.getenv("SCA_SK_ENV");
        // 构建Aliyun Client, 用于发起请求
        // 智能对话分析API的服务接入地址为华东 1(杭州), 此处Region值固定填写"cn-hangzhou"
        IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKeyId, accessKeySecret);
        //指定服务接入地址,以下为固定值
        DefaultProfile.addEndpoint("HZ", "cn-hangzhou", "Qualitycheck", "qualitycheck.cn-hangzhou.aliyuncs.com");
        client = new DefaultAcsClient(profile);
    }
    /**
     * 取得反序列化的实例对象,当http status>=200且<300,表示API调用成功
     * 当http status>=300且<500,报错ClientException
     * 当http status>=500 SDK,报错ServerException
     * Request和Response会成对出现,其前缀会根据调用的相关接口进行变更
     * 例如调用获取结果接口时,使用GetResultRequest/GetResultResponse
     */
    @Test
    public void uploadDataSample(String aliUid) {
        UploadDataRequest req = new UploadDataRequest();
        req.setJsonStr("<Upload Data Json>");
        try {
            UploadDataResponse response = client.getAcsResponse(req);
            // do something.
            System.out.println(response.getCode());
            System.out.println(response.getMessage());
            System.out.println(com.alibaba.fastjson.JSON.toJSONString(response));
        } catch (ServerException e) {
            e.printStackTrace();
        } catch (ClientException e) {
            e.printStackTrace();
        }
    }
    /**
     * 取得原始的API调用结果
     * Request/Response,其前缀会根据调用的相关接口进行变更
     * 例如调用获取结果接口时,使用GetResultRequest/GetResultResponse
     */
    @Test
    public void uploadDataActionSample(String aliUid) {
        UploadDataRequest req = new UploadDataRequest();
        //定义返回的报文格式
        //req.setAcceptFormat(FormatType.JSON);
        req.setJsonStr("<Upload Data Json>");
        // describeRegionsRequest.setRegionId("cn-hangzhou");//指定要访问的Region,仅对当前请求生效,不改变Client的默认设置
        try {
            HttpResponse httpResponse = client.doAction(req);
            System.out.println(req.getUrl());
            System.out.println(httpResponse.getUrl());
            byte[] content = httpResponse.getHttpContent();
	    System.out.println(new String(content));
        } catch (ServerException e) {
            e.printStackTrace();
        } catch (ClientException e) {
            e.printStackTrace();
        }
    }
}
  • 本页导读 (0)
文档反馈