微信公共平台API。
https://github.com/muzin/wechatapi
详细文档:
https://github.com/muzin/wechatapi/blob/master/ReadMe.md
需手动在项目中加入如下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: 'com.fangle', name:"wechatapi", version:'1.0.0'
}
gradle jar
或者,使用idea中gradle可视化工具组建
import com.fangle.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等渠道
}
});
public WechatAPI wechatAPI = new WechatAPI("appid", "appsecret");
// or
WechatAPI api = new WechatAPI(appid, appsecret, new TokenStorageResolver() {
/**
* 获取token
* 程序内部将通过此方法获取token
*/
@Override
public AccessToken getToken() {
// ... code ...
String tokenStr = 从文件、redis等渠道获取保存的accessToken
JsonParser jsonParser = new JsonParser();
JsonObject token = jsonParser.parse(tokenStr);
AccessToken token = new AccessToken(token.accessToken, token.expire_in)
return token;
}
/**
* 保存token
* 程序内部每次更新accessToken时,将会通知此方法
* 在此时将accessToken持久化
*/
@Override
public void saveToken(AccessToken accessToken) {
// code...
Map token = new HashMap();
token.put("accessToken", accessToken.getAccessToken());
token.put("expire_in", accessToken.getExpireTime());
Gson gson = new Gson();
String tokenStr = gson.toString(token)
// 将 tokenStr 保存到文件、redis等渠道
}
});
public WechatAPI wechatAPI = new WechatAPI("appid", "appsecret");
// 获取用户信息
wechatAPI.getUser("openid");
// 获取微信服务器IP
wechatAPI.getIp("openid");