可以通过封装的API简化向企业微信成员发消息的开发过程。默认情况下,每个企业微信调用接口都有一定的频率限制,当超过此限制时会收到相应错误码。这些限制包括:
有关频率限制,请以企业微信官方说明为准
项 | 说明 |
---|---|
接口名称 | aslp://com.actionsoft.apps.wechat/sendMessage |
输入参数 | - message 消息格式,见下WechatMessage 说明- corpId 企业的Id |
输出结果 | 一个JSON结构的ResponseObject对象 |
WechatMessage说明
我们假设:
123456789
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 |
我们假设:
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路径 |
我们假设:
123456789
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
}