环信对接的要点帮助-获取token。
项目需要对接环信做临时通话,对接环信也是上网查了很多资料,今天把整理一下,方便也在做环信开发的省点时间。
首先,你需要去看看环信的官网,大概了解下是做什么。
http://docs.easemob.com/im/100serverintegration/20users;
1,需要你们公司的产品经理,去注册环信,获取你们公司的AppId;
环信的用户体系集成文档路径,直接粘贴即可访问。
2,查看环信服务店集成api,这里我也给出链接;
前两天看到一同事说,看一个人是不是程序员,你只需要去看他写的文章是分号结尾,还是句号,确实有点准
http://api-docs.easemob.com/#!/%E8%8E%B7%E5%8F%96token/post_org_name_app_name_token;
这就是文档的页面,访问的路径,也是环信的路径
这就是获取token路径,其中,testapp 这个是你们公司的注册名字。
http://a1.easemob.com/1122161011178276/testapp/token
下面是java代码,纯干货直接获取。
public static String getToken(String url, String appid, String secret)
throws Exception {
String resultStr = null;
@SuppressWarnings("resource")
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost post = new HttpPost(url);
//JsonParser jsonparer =JsonParser;// 初始化解析json格式的对象
// 接收参数json列表
JSONObject jsonParam = new JSONObject();
jsonParam.put("grant_type", "client_credentials");
jsonParam.put("client_id", appid);
jsonParam.put("client_secret", secret);
StringEntity entity = new StringEntity(jsonParam.toString(), "utf-8");// 解决中文乱码问题
entity.setContentEncoding("UTF-8");
entity.setContentType("application/json");
post.setEntity(entity);
// 请求结束,返回结果
HttpResponse res = httpClient.execute(post);
// 如果服务器成功地返回响应
String responseContent = null; // 响应内容
HttpEntity httpEntity = res.getEntity();
responseContent = EntityUtils.toString(httpEntity, "UTF-8");
//System.out.println( responseContent);
//JsonObject json = JsonParser.parse(responseContent);
JSONObject json = JSONObject.parseObject(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").toString();
}
}
// 关闭连接 ,释放资源
httpClient.close();
return resultStr;
}
解释下:url,就是上面那个路径,appid,则是你们公司的唯一id,secret,这个参数为固定参数,client_secret=YXA6mxa-bxfAlHfhDwxzF3pdbipaiRM;
之后就可以调用这个方法了 ,返回结果就是你想要的token;