全部产品
云市场

OpenAPI接入手册

更新时间:2020-01-16 15:20:43

1 环境配置

EMAS中心仓库: http://nexus-ce.emas-poc.com/

访问该maven仓库需要配置账号/密码,账号信息咨询EMAS环境管理员。

settings.xml配置示例:

  1. <servers>
  2. <server>
  3. <id>emas-public</id>
  4. <username>_EMAS_MAVEN_USERNAME_</username>
  5. <password>_EMAS_MAVEN_PASSWORD_</password>
  6. </server>
  7. </servers>
  8. <profiles>
  9. <profile>
  10. <id>emas</id>
  11. <repositories>
  12. <repository>
  13. <id>emas-public</id>
  14. <url>http://nexus-ce.emas-poc.com/repository/maven-public/</url>
  15. <releases>
  16. <enabled>true</enabled>
  17. </releases>
  18. <snapshots>
  19. <enabled>true</enabled>
  20. </snapshots>
  21. </repository>
  22. </repositories>
  23. </profile>
  24. </profiles>
  25. <activeProfiles>
  26. <activeProfile>emas</activeProfile>
  27. </activeProfiles>

2 SDK集成

  1. <dependency>
  2. <groupId>com.alibaba.emas</groupId>
  3. <artifactId>emas-openapi-sdk-push</artifactId>
  4. <version>1.0.1</version>
  5. </dependency>
SDK中的类 API(对应类中的方法) API功能描述
PushApi pushPost 推送消息

咨询EMAS环境管理员,获取OpenAPI配置信息:

  • endpoint:访问OpenAPI的网络入口url;
  • accessKey:访问OpenAPI的密钥key;
  • secret:访问OpenAPI的密钥secret;

OpenAPI配置信息示例:

  1. accessKey: _EMAS_OPENAPI_ACCESS_KEY_
  2. secret: _EMAS_OPENAPI_ACCESS_SECRET_
  3. endpoint: http://_EMAS_OPENAPI_DOMAIN_:31080/agoo/v1

3 Demo示例

  1. public void testPush() {
  2. String accessKey = "_EMAS_OPENAPI_ACCESS_KEY_";
  3. String secret = "_EMAS_OPENAPI_ACCESS_SECRET_";
  4. String endpoint = "_EMAS_OPENAPI_ENDPOINT_";
  5. PushApi api = new PushApi(accessKey, secret, endpoint);
  6. PushRequest request = new PushRequest();
  7. request.setAppKey("12345678");
  8. request.setTitle("title");
  9. request.setContent("content");
  10. request.setSendType(PushRequest.SendTypeEnum.ALIAS);
  11. request.setTargetAliases(Arrays.asList("alias1", "alias2"));
  12. request.setExpireTime(OffsetDateTime.now().plusDays(1)); // 设置过期时间
  13. try {
  14. PushWebResult result = api.pushPost(request); // 发起推送请求
  15. System.out.println("Push result: " + result);
  16. } catch (Exception e) {
  17. e.printStackTrace();
  18. }
  19. }

4 错误码

错误码 描述
119130 缺少AppKey参数
119131 缺少Title参数
119132 缺少Content参数
119134 缺少ActionTarget参数
119135 缺少SendType参数
119136 缺少TargetDevices参数
119137 缺少TargetAliases参数
119138 缺少ExpireTime参数
119139 缺少Sandbox参数
119150 Title长度超出限制
119151 SubTitle长度超出限制
119152 Content长度超出限制
119153 ActionTarget长度超出限制
119154 IconUrl长度超出限制
119155 PictureResource长度超出限制
119156 SoundResource长度超出限制
119157 NotificationChannel长度超出限制
119158 ExtParams key长度超出限制
119159 ExtParams value长度超出限制
119160 TargetDevices列表个数超出限制
119161 TargetAliases列表个数超出限制
119162 ExtParams key/value个数超出限制
119170 ActionType参数无效
119171 RemindType参数无效
119172 SendType参数无效
119173 ExtParams参数无效
119174 Badge参数无效
119175 ExpireTime参数无效