因工作需要接触企业微信,做了一些企业微信api接口的调用及开发,在此记录一下。
企业微信即原微信企业号,目前企业号已经全部升级到企业微信,后台接口也统一的差不多了,但仍有不少差别,但首先都需要获取access_token。
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;
import javax.net.ssl.HttpsURLConnection;
import net.sf.json.JSONObject;
public class wxTest {
public static void main(String[] args) {
// corpid为每个企业都拥有唯一的corpid,获取此信息可在管理后台“我的企业”-“企业信息”下查看(需要有管理员权限)
// corpsecret是企业应用里面用于保障数据安全的“钥匙”,每一个应用都有一个独立的访问密钥
String corpid = "wwcb74xxxxxxxx";
String corpsecret = "YsXoexxxxxxxxxxxxxxxxxxxxx";
try {
String url = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=" + corpid + "&corpsecret=" + corpsecret;
URL u = new URL(url);
HttpsURLConnection huconn = (HttpsURLConnection) u.openConnection();
BufferedReader in = null;
StringBuilder result = new StringBuilder();
huconn.connect();
in = new BufferedReader(new InputStreamReader(huconn.getInputStream(), "UTF-8"));
String line;
while ((line = in.readLine()) != null) {
result.append(line);
}
if (in != null) {
in.close();
}
// 打印返回结果
System.out.println("获取token----" + result);
// 返回结果为JSONObject格式,需要再做一步操作获取token
JSONObject myJsonObject = new JSONObject();
myJsonObject = JSONObject.fromObject(result.toString());
String token = myJsonObject.getString("access_token");
// 打印token
System.out.println("token----" + token);
} catch (Exception e) {
e.printStackTrace();
}
}
}
这边JSONObject格式数据处理需要jar包json-lib-2.4-jdk15.jar
返回结果格式为
获取token----{"errcode":0,"errmsg":"ok","access_token":"DIu776H7qbLxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","expires_in":7200}
token----DIu776H7qbL4dBZ59OXxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
这里的token即为后面调用其他api接口所需的验证凭证。expries_in为凭证的有效时长,单位为秒,过期需要重新获取。