AWS企业微信管理开发平台参考指南

主动发送

可以通过封装的API简化向企业微信成员发消息的开发过程。默认情况下,每个企业微信调用接口都有一定的频率限制,当超过此限制时会收到相应错误码。这些限制包括:

  • 发消息频率
  • 基础频率
  • 创建帐号频率
  • 创建应用频率

有关频率限制,请以企业微信官方说明为准

发送消息

说明
接口名称 aslp://com.actionsoft.apps.wechat/sendMessage
输入参数 - message 消息格式,见下WechatMessage说明
- corpId 企业的Id
输出结果 一个JSON结构的ResponseObject对象

WechatMessage说明

  • WechatMessage.TEXT 构建text文本消息
  • WechatMessage.IMAGE 构建image图片消息
  • WechatMessage.VOICE 构建voice语音消息
  • WechatMessage.VIDEO 构建video视频消息
  • WechatMessage.NEWS 构建news图文消息
  • WechatMessage.FILE 构建file文件消息

我们假设:

  • corpId 为123456789
  • agenId 为123

示例

String aslp = "aslp://com.actionsoft.apps.wechat/sendMessage";
// 参数定义列表
Map<String, Object> params = new HashMap<String, Object>();
WechatMessage msg = WechatMessage.TEXT().agentId("123").content("Hi, AWS PaaS!").toParty("1").build();
// 要发送的消息,参数必须
params.put("message", msg.toJson());
// 企业的CorpId,参数必须
params.put("corpId", "123456789");
// 执行API
ResponseObject ro = SDK.getAppAPI().callASLP(SDK.getAppAPI().getAppContext("com.actionsoft.apps.wechat.demo"), aslp, params);
if (ro.isOk()) {
    // todo
} else {
    // todo
}

上传素材

说明
接口名称 aslp://com.actionsoft.apps.wechat/uploadMeida
输入参数 - corpId 企业的Id
- mediaType 媒体文件类型,分别有图片(image)、语音(voice)、
视频(video),普通文件(file)
- dcContext 从DC处理要上传的文件,一个指定的DCContext.toJson()参数
输出结果 一个JSON结构的ResponseObject对象。
成功返回mediaId和thumbMediaId

我们假设:

  • corpId 为123456789
  • 文件已存放在com.actionsoft.apps.wechat.demo应用的tmp
  • 该文件的一级目录名为gv
  • 该文件的二级目录名为fv
  • 文件名为hello.png

示例

String aslp = "aslp://com.actionsoft.apps.wechat/uploadMeida";
// 参数定义列表
Map<String, Object> params = new HashMap<String, Object>();
// 媒体类型,参数必须
params.put("mediaType", "image");
// 从DC处理要上传的文件,参数必须
DCContext dcContext = new DCContext(null, DCProfileManager.getDCProfile("com.actionsoft.apps.wechat.demo", "tmp"),
"com.actionsoft.apps.wechat.demo", "gv", "fv", "hello.png");
params.put("dcContext", dcContext.toJson());
// 企业CorpId,参数必须
params.put("corpId", "123456789");
// 执行API
ResponseObject ro = SDK.getAppAPI().callASLP(SDK.getAppAPI().getAppContext("com.actionsoft.apps.wechat.demo")
, aslp, params);
System.out.println(ro.toString());
if (ro.isOk()) {
    JSONObject json = ro.toJsonObject();
    JSONObject data = json.getJSONObject("data");
    //素材资源Id
    String mediaId = data.getString("mediaId");
} else {
    // todo
}

下载素材

说明
接口名称 aslp://com.actionsoft.apps.wechat/downloadMeida
输入参数 - corpId 企业Id
- mediaId 要下载的素材Id
- dcContext 从DC处理要上传的文件,一个指定的DCContext.toJson()参数
输出结果 一个JSON结构的ResponseObject对象。
成功返回filePath和file路径

我们假设:

  • corpId 为123456789
  • mediaId 为123456
  • 文件存放到com.actionsoft.apps.wechat.demo应用的tmp
  • 该文件的一级目录名为gv
  • 该文件的二级目录名为fv
  • 文件名为hello.png
String aslp = "aslp://com.actionsoft.apps.wechat/downloadMeida";
// 参数定义列表
Map<String, Object> params = new HashMap<String, Object>();
// 要下载的素材mediaId,参数必须
params.put("mediaId", 123456);
// 企业CorpId,参数必须
params.put("corpId", "123456789");
// 从DC处理要下载的文件,参数必须
DCContext dcContext = new DCContext(null, DCProfileManager.getDCProfile("com.actionsoft.apps.wechat.demo", "tmp"),
"com.actionsoft.apps.wechat.demo", "gv", "fv", "hello.png");
params.put("dcContext", dcContext.toJson());
// 执行API
ResponseObject ro = SDK.getAppAPI().callASLP(SDK.getAppAPI().getAppContext("com.actionsoft.apps.wechat.demo")
, aslp, params);
System.out.println(ro.toString());
if (ro.isOk()) {
    // todo
} else {
    // todo
}


Seven
 010-62962343-690
 liujx@actionsoft.com.cn
感谢您对该文档的关注!如果您对当前页面内容有疑问或好的建议,请与我联系。如果您需要解答相关技术问题请登录AWS客户成功社区