📢如果你感觉这个项目不错,请点击项目右上角的⭐以鼓励作者,谢谢🎉。
- 代码完全开源,使用前请认真尝试样例工程
- 在尝试步骤1的前提下遇到问题经过一系列努力无法解决,请提issue,或者通过自行扩展代码解决
- 不再提供任何无偿人工服务,不要把自己当上帝
- 会持续维护迭代
wecom-sdk是开源的企业微信开放 API 的 Java 实现,是目前最完整的 Java 开源实现。经过近三年的迭代,目前已经实现了通讯录管理、客户管理、微信客服、素材管理、消息推送、企微机器人、身份验证、应用管理、OA 办公、企业支付等企业微信开放接口,开发人员不需要很高的学习成本就能快速优雅地接入企业微信。
/**
* 企微机器人
*
* @throws IOException the io exception
*/
@Test
void webHooks()throws IOException{
// 发 markdown
WebhookBody markdownBody=WebhookMarkdownBody.from("这里为markdown消息");
// 发纯文本
WebhookBody textBody=WebhookTextBody.from("这里为纯文本");
// 发图文
WebhookArticle article=new WebhookArticle("这里为标题","这里为图文链接")
.picurl("这里为封面图链接")
.description("这里为摘要信息");
WebhookBody newsBody=WebhookNewsBody.from(Collections.singletonList(article));
// 从base64发图片
String base64="图片base64";
String md5="图片base64的md5";
WebhookBody imageBody1=WebhookImageBody.from(base64,md5);
// 从流发送图片
String path="C:\\Users\\Administrator\\Desktop\\0.png";
InputStream inputStream=Files.newInputStream(Paths.get(path));
WebhookBody imageBody2=WebhookImageBody.from(inputStream);
WeComResponse weComResponse=WorkWeChatApi.webhookApi().send("机器人key",markdownBody);
Assertions.assertTrue(weComResponse.isSuccessful());
}
更多示例参见 SpringBootWecomSdkTests.java
- 支持多个企业微信同时配置作业
- 集成方便,适用于各种 Java 生态
- 目前实现企业微信接口200多个,能满足大部分场景的需求
- 全参数封装,参数高度语义化封装,再也不担心组织参数、解析参数的问题
- 实现统一回调,所有回调事件可集中异步处理,开发者只需要关心业务逻辑的处理
- 统一异常处理,企业微信API调用异常统一被WeComException管理
- 由 SDK 接管 Token 生命周期,开发者无需关心 Token 的管理。
💡目前自建应用可轻松适配,服务商、代开发暂不开源。
- Retrofit2,支持最高版本号
2.9.0
- OkHttp4,支持最高版本号
4.12.0
- Rxjava3,支持最高版本号
3.0.0
- Jackson2,支持最高版本号
2.15.2
- XStream,支持最高版本号
1.4.20
- 普通版本
<dependency>
<groupId>cn.felord</groupId>
<artifactId>wecom-sdk</artifactId>
<version>1.2.8</version>
</dependency>
- rxjava 版本
<dependency>
<groupId>cn.felord</groupId>
<artifactId>rx-wecom-sdk</artifactId>
<version>1.2.8</version>
</dependency>
- Okhttp低版本兼容依赖
会报错NoSuchMethod的是因为你项目本身引入了Okhttp,但是版本比较低,导致不兼容的情况,可通过以下依赖引入wecom-sdk
<dependency>
<groupId>cn.felord</groupId>
<artifactId>wecom-sdk</artifactId>
<version>1.2.8</version>
<exclusions>
<exclusion>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
</exclusion>
<exclusion>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>logging-interceptor</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>4.12.0</version>
</dependency>
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>logging-interceptor</artifactId>
<version>4.12.0</version>
</dependency>
不再提供任何文档,代码即文档