本文主要是介绍APP server 使用httpclient调用第三方环信的server rest接口获取token,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
所需要jar包主要是apache httpclient 相关的jar以及操作json转换的jar
这些jar因为本公司的项目没有用maven所以要自己到apache官网下载并导入
当您申请了 AppKey 后,会得到一个xxxx#xxxx 格式的字符串,这个就是您的 AppKey,下文中用到的:
- org_name 对应#前面部分
- app_name 对应#后面部分
代码如下:
public class HttpClientUtil {
//apiURL就是访问第三方的URLprivate static String apiURL = "https://a1.easemob.com/{org_name}/{app_name}/token";
//创建应用的时候会对应生成
private static String client_id = "";
private static String client_secret = "";
public static void main(String[] args) throws Exception {
System.out.println("=========1获取token=========");
String accessToken = getToken(apiURL, client_id, client_secret);// 获取token
if (accessToken != null)
System.out.println(accessToken);
}
public static String getToken(String url, String appid, String secret)
throws Exception {
String resultStr = null;
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost post = new HttpPost(url);
JsonParser jsonparer = new JsonParser();// 初始化解析json格式的对象
// 接收参数json列表
JSONObject jsonParam = new JSONObject();
jsonParam.put("grant_type", "client_credentials");
jsonParam.put("client_id", client_id);
jsonParam.put("client_secret", client_secret);
StringEntity entity = new StringEntity(jsonParam.toString(), "utf-8");// 解决中文乱码问题
entity.setContentEncoding("UTF-8");
entity.setContentType("application/json");
post.setEntity(entity);
// 请求结束,返回结果
try {
HttpResponse res = httpClient.execute(post);
// 如果服务器成功地返回响应
String responseContent = null; // 响应内容
HttpEntity httpEntity = res.getEntity();
responseContent = EntityUtils.toString(httpEntity, "UTF-8");
JsonObject json = jsonparer.parse(responseContent)
.getAsJsonObject();
if (res.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
if (json.get("errcode") != null)
//resultStr = json.get("errcode").getAsString();
} else {// 正常情况下
resultStr = json.get("access_token").getAsString();
}
}
} catch (Exception e) {
e.printStackTrace();
} finally {
// 关闭连接 ,释放资源
httpClient.getConnectionManager().shutdown();
return resultStr;
}
}
}
这篇关于APP server 使用httpclient调用第三方环信的server rest接口获取token的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!