本篇主要叙述Java对接企微必要信息等,后续接口根据各接口需求来获取企微必要信息(access_token、jsapi_ticket等),此处附上企微开发接口文档
获取企微access_token
获取access_token是调用企业微信API接口的第一步,相当于创建了一个登录凭证,其它的业务API接口,都需要依赖于access_token来鉴权调用者身份。
请求参数:
参数 |
必须 |
说明 |
corpid |
是 |
企业ID |
corpsecret |
是 |
应用的凭证密钥,注意应用需要是启用状态 |
企业ID:每个企业都拥有唯一的corpid,获取此信息可在管理后台“我的企业”-“企业信息”下查看“企业ID”(需要有管理员权限)
凭证秘钥:在管理后台->“应用管理”->“应用”->“自建”,点进某个应用,即可看到。
返回结果:
参数 |
说明 |
errcode |
出错返回码,为0表示成功,非0表示调用失败 |
errmsg |
返回码提示语 |
access_token |
获取到的凭证,最长为512字节 |
expires_in |
凭证的有效时间(秒) |
注意事项:对于access_token的获取官方规定不能频繁调用gettoken接口,否则会受到频率拦截,所以一般选择缓存,此文选择用Redis进行缓存。access_token的有效期正常情况下为7200秒(2小时)。
Java中获取access_token的代码实例如下
public String getAccessToken() {
//从缓存中获取access_token
String weComAccessToken = (String) redisTemplate.opsForValue().get(WECOM_ACCESS_TOKEN);
if (!StringUtils.isEmpty(weComAccessToken)) {
return weComAccessToken;
}
try {
//这里的企业id和企业秘钥是在配置文件中获取,此处修改看个人。
String corpid = weComProperties.getClientId();
String corpsecret = weComProperties.getClientSecret();
String url = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=" + clientId + "&corpsecret=" + clientSecret;
String resultStr = HttpUtil.get(url);
JSONObject result = JSONObject.parseObject(resultStr);
//非空判断
if (result == null) {
throw ex