我們為您提供了智能對話分析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_ENV
和SCA_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系統配置方法
新建環境變量,添加環境變量
SCA_AK_ENV
和SCA_SK_ENV
,并寫入已準備好的AccessKey ID和AccessKey Secret。重啟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();
}
}
}