微信公共平台API。
- 公共API
- 授权登录
- 发送客服消息(文本、图片、语音、视频、音乐、图文)
- 菜单操作(查询、创建、删除、个性化菜单)
- 二维码(创建临时、永久二维码,查看二维码URL)
- 分组操作(查询、创建、修改、移动用户到分组)
- 用户信息(查询用户基本信息、获取关注者列表)
- 媒体文件(上传、获取)
- 群发消息(文本、图片、语音、视频、图文)
- 客服记录(查询客服记录,查看客服、查看在线客服)
- 公众号支付(发货通知、订单查询)
- 微信小店(商品管理、库存管理、邮费模板管理、分组管理、货架管理、订单管理、功能接口)
- 模版消息
- 网址缩短
- 语义查询
- 数据分析
- JSSDK服务端支持
- 素材管理
- 摇一摇周边
- 卡劵管理
- 小程序
需手动在项目中加入如下jar:
// 需引入以下 jar 包
// https://mvnrepository.com/artifact/com.google.code.gson/gson
compile group: 'com.google.code.gson', name: 'gson', version: '2.8.2'
// https://mvnrepository.com/artifact/org.apache.httpcomponents/httpclient
compile group: 'org.apache.httpcomponents', name: 'httpclient', version: '4.5.6'
// https://mvnrepository.com/artifact/org.apache.httpcomponents/httpmime
compile group: 'org.apache.httpcomponents', name: 'httpmime', version: '4.5.6'
组建jar包后,将jar包放入项目下,
在build.gradle的repositories
、dependencies
加入如下代码:
repositories {
flatDir { dirs 'lib' } // lib 代表存放jar包的目录
}
dependencies {
compile group: 'cn.muzin', name:"wechatapi", version:'1.0.0'
}
gradle jar
或者,使用idea中gradle可视化工具组建
import WechatAPI;
WechatAPI api = new WechatAPI(appid, appsecret);
当多进程时,token需要全局维护,以下为保存token的接口:
WechatAPI api = new WechatAPI(appid, appsecret, new TokenStorageResolver() {
/**
* 获取token
* 程序内部将通过此方法获取token
*/
@Override
public AccessToken getToken() {
AccessToken token = 从文件、redis等渠道获取保存的accessToken
return token;
}
/**
* 保存token
* 程序内部每次更新accessToken时,将会通知此方法
* 在此时将accessToken持久化
*/
@Override
public void saveToken(AccessToken accessToken) {
// code...
// 保存到文件、redis等渠道
}
});
或者
// 全局维护 accessToken 和 ticket
WechatAPI api = new WechatAPI(appid, appsecret,
new TokenStorageResolver() {
/**
* 获取token
* 程序内部将通过此方法获取token
*/
@Override
public AccessToken getToken() {
AccessToken token = 从文件、redis等渠道获取保存的accessToken
return token;
}
/**
* 保存token
* 程序内部每次更新accessToken时,将会通知此方法
* 在此时将accessToken持久化
*/
@Override
public void saveToken(AccessToken accessToken) {
// code...
// 保存到文件、redis等渠道
}
},new TicketStorageResolver() {
@Override
public Ticket getTicket(String s) {
Ticket ticket = 从文件、redis等渠道获取保存的ticket
return ticket;
}
@Override
public void saveTicket(String s, Ticket ticket) {
// code...
// 保存到文件、redis等渠道
}
});