全部产品
弹性计算 会员服务 网络 安全 移动云 数加·大数据分析及展现 数加·大数据应用 管理与监控 云通信 阿里云办公 培训与认证 智能硬件
存储与CDN 数据库 域名与网站(万网) 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 更多
视频直播

Java SDK使用说明

更新时间:2018-05-09 10:06:34

操作步骤

  1. 引入SDK

    请在pom.xml文件中增加以下依赖,准确的SDK版本号,参见 阿里云开发工具包(SDK)

    1. <dependencies>
    2. <dependency>
    3. <groupId>com.aliyun</groupId>
    4. <artifactId>aliyun-java-sdk-live</artifactId>
    5. <version>2.3.0</version>
    6. </dependency>
    7. </dependencies>
  2. 初始化Client

    SDK通过IAcsClient的instance来完成openAPI的调用。因此,在您发起调用前,请先初始化IAcsClient实例。示例代码如下:

    1. public void init() throws ClientException {
    2. IClientProfile profile = DefaultProfile.getProfile("cn-shanghai", "<your accessKey>", "<your accessSecret>");
    3. //DefaultProfile.addEndpoint("cn-shanghai", "cn-shanghai", "live", "live.aliyuncs.com"); //添加自定义endpoint。
    4. client = new DefaultAcsClient(profile);
    5. //System.setProperty("http.proxyHost", "127.0.0.1"); //此设置用于设置代理,可用fiddler拦截查看http请求,便于调试。
    6. //System.setProperty("http.proxyPort", "8888");
    7. }
  3. 初始化请求

    发起API调用前,先初始化对应的请求的request实例,DescribeLiveSnapshotConfig(查询截图配置)接口为例,示例代码如下:

    1. public void requestInitSample() {
    2. DescribeLiveSnapshotConfigRequest describeLiveSnapshotConfigRequest = new DescribeLiveSnapshotConfigRequest();
    3. describeLiveSnapshotConfigRequest.setDomainName("live.aliyunlive.com");
    4. //describeLiveSnapshotConfigRequest.setProtocol(ProtocolType.HTTPS); //指定访问协议
    5. //describeLiveSnapshotConfigRequest.setAcceptFormat(FormatType.JSON); //指定api返回格式
    6. //describeLiveSnapshotConfigRequest.setMethod(MethodType.POST); //指定请求方法
    7. //describeLiveSnapshotConfigRequest.setRegionId("cn-shanghai");//指定要访问的Region,仅对当前请求生效,不改变client的默认设置。
    8. try {
    9. HttpResponse httpResponse = client.doAction(describeLiveSnapshotConfigRequest);
    10. System.out.println(httpResponse.getUrl());
    11. System.out.println(new String(httpResponse.getContent()));
    12. //todo something.
    13. } catch (ServerException e) {
    14. e.printStackTrace();
    15. } catch (ClientException e) {
    16. e.printStackTrace();
    17. }
    18. }
    19. }
  4. 发起openAPI调用并解析结果

    利用上一步初始化好的IAcsClient,您可以发起openAPI调用。IAcsClient提供了两种类型的调用结果返回,一种方式是通过调用doAction方法获取取得原始的API调用结果,即返回HttpResponse类型的结果。示例代码如下:

    1. public void invokeSample() {
    2. DescribeLiveSnapshotConfigRequest describeLiveSnapshotConfigRequest = new DescribeLiveSnapshotConfigRequest();
    3. describeLiveSnapshotConfigRequest.setDomainName("live.aliyunlive.com");
    4. try {
    5. HttpResponse httpResponse = client.doAction(describeLiveSnapshotConfigRequest);
    6. System.out.println(httpResponse.getUrl());
    7. System.out.println(new String(httpResponse.getContent()));
    8. //todo something else.
    9. } catch (ServerException e) {
    10. e.printStackTrace();
    11. } catch (ClientException e) {
    12. e.printStackTrace();
    13. }
    14. }

    另一种方式,通过调用getAcsResponse方法,获取反序列化后的对象,示例代码如下:

    1. public void invokeSample() {
    2. DescribeLiveSnapshotConfigRequest describeLiveSnapshotConfigRequest = new DescribeLiveSnapshotConfigRequest();
    3. describeLiveSnapshotConfigRequest.setDomainName("live.aliyunlive.com");
    4. try {
    5. DescribeLiveSnapshotConfigResponse describeLiveSnapshotConfigResponse = client.getAcsResponse(describeLiveSnapshotConfigRequest);
    6. //todo something.
    7. } catch (ServerException e) {
    8. e.printStackTrace();
    9. } catch (ClientException e) {
    10. e.printStackTrace();
    11. }
    12. }

异常类型

  • 当http status≥200且<300,表示API调用成功。

  • 当http status≥300且<500,SDK抛ClientException,表示客户端错误。

  • 当http status≥500,SDK抛ServerException,表示服务器端错误。

本文导读目录