1、https://www.easemob.com/ 环信官网注册账号
2、创建应用

3、创建完成之后点击

会出现如下信息,其中标注的为重要信息

4、编写环信工具类HuanXinUtil

package com.fh.util;import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.ProtocolException;
import java.net.URL;
import java.util.Calendar;
import java.util.Date;
import java.util.Properties;import net.sf.json.JSONObject;public class HuanXinUtil {//  private   String targetURL = "https://a1.easemob.com/1177180507177107/bit/chatrooms";private String uri = "https://a1.easemob.com/1177180507177107/bit/";private   String hx_client_id = "";private   String hx_client_Secret = "";private   String hx_access_token = "";private   long hx_token_time = 0;private static String profilepath = "WEB-INF/classes/hx_key.properties";public HuanXinUtil(){String filePath = String.valueOf(Thread.currentThread().getContextClassLoader().getResource(""))+"../../";  //项目路径filePath = filePath.replaceAll("file:/", "");filePath = filePath.replaceAll("%20", " ");filePath = filePath.trim()+profilepath;//filePath = "D://hx_key.properties";Properties properties = new Properties();try {InputStream in = new BufferedInputStream(new FileInputStream(filePath));   properties.load(in);hx_client_id = properties.getProperty("hx_client_id");hx_client_Secret = properties.getProperty("hx_client_Secret");hx_access_token = properties.getProperty("hx_access_token");hx_token_time = Long.parseLong(properties.getProperty("hx_token_time"));in.close();Date date = new Date(hx_token_time);System.out.println(date.before(new Date()));if(date.before(new Date())){hx_access_token=this.getAccessToken(hx_client_id, hx_client_Secret);Calendar now = Calendar.getInstance();   now.setTime(new Date());   now.set(Calendar.DATE, now.get(Calendar.DATE) + 5); hx_token_time =now.getTimeInMillis();FileOutputStream fileOutputStream = new FileOutputStream(filePath);properties.setProperty("hx_token_time", Long.toString(hx_token_time));properties.setProperty("hx_access_token", hx_access_token);properties.store(fileOutputStream, "update access_token");fileOutputStream.close();}} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}public String getchatroomID(String roomname){String id ="";try {URL url = new URL("https://a1.easemob.com/1177180507177107/bit/chatrooms");HttpURLConnection conn = (HttpURLConnection) url.openConnection();conn.setDoOutput(true);conn.setRequestMethod("POST");conn.setRequestProperty("Content-Type", "application/json");conn.setRequestProperty("Authorization", "Bearer "+hx_access_token);String input = "{\"name\":\""+roomname+"\",\"description\":\"chatroom\",\"owner\":\"tdd123\"}";OutputStream os = conn.getOutputStream();os.write(input.getBytes());os.flush();if (conn.getResponseCode() != 200) {}else{BufferedReader br = new BufferedReader(new InputStreamReader((conn.getInputStream())));String output;StringBuffer sb = new StringBuffer();System.out.println("Output from Server .... \n");while ((output = br.readLine()) != null) {System.out.println(output);System.out.println("------");sb.append(output);}JSONObject json = JSONObject.fromObject(sb.toString());id =  JSONObject.fromObject(json.getString("data")).getString("id");}conn.disconnect();} catch (MalformedURLException e) {e.printStackTrace();} catch (ProtocolException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}return id;}public int createUser(String username,String password,String nickname){int  i =0;try {URL url = new URL("https://a1.easemob.com/1177180507177107/bit/users");HttpURLConnection conn = (HttpURLConnection) url.openConnection();conn.setDoOutput(true);conn.setRequestMethod("POST");conn.setRequestProperty("Content-Type", "application/json");conn.setRequestProperty("Authorization", "Bearer "+hx_access_token);String input = "{\"username\":\""+username+"\",\"password\":\""+password+"\",\"nickname\":\""+nickname+"\"}";System.out.println(input);OutputStream os = conn.getOutputStream();os.write(input.getBytes());os.flush();System.out.println(conn.getResponseCode());i =conn.getResponseCode();conn.disconnect();} catch (MalformedURLException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}return i;}public JSONObject changeUserNickname(String username,String nickname){JSONObject json  =null;try {URL url = new URL("https://a1.easemob.com/1177180507177107/bit/users/"+username);HttpURLConnection conn = (HttpURLConnection) url.openConnection();conn.setDoOutput(true);conn.setRequestMethod("PUT");conn.setRequestProperty("Content-Type", "application/json");conn.setRequestProperty("Authorization", "Bearer "+hx_access_token);String input = "{\"nickname\":\""+nickname+"\"}";OutputStream os = conn.getOutputStream();os.write(input.getBytes());os.flush();if (conn.getResponseCode() != 200) {}else{BufferedReader br = new BufferedReader(new InputStreamReader((conn.getInputStream())));String output;StringBuffer sb = new StringBuffer();System.out.println("Output from Server .... \n");while ((output = br.readLine()) != null) {sb.append(output);}json = JSONObject.fromObject(sb.toString());}conn.disconnect();} catch (MalformedURLException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}return json;}public JSONObject getHXUserInfo(String username){JSONObject json  =null;try {URL url = new URL("https://a1.easemob.com/1177180507177107/bit/users/"+username);HttpURLConnection conn = (HttpURLConnection) url.openConnection();conn.setRequestMethod("GET");conn.setRequestProperty("Content-Type", "application/json");conn.setRequestProperty("Authorization", "Bearer "+hx_access_token);System.out.println(conn.getResponseCode());if (conn.getResponseCode() != 200) {}else{BufferedReader br = new BufferedReader(new InputStreamReader((conn.getInputStream())));String output;StringBuffer sb = new StringBuffer();System.out.println("Output from Server .... \n");while ((output = br.readLine()) != null) {sb.append(output);}json = JSONObject.fromObject(sb.toString());}conn.disconnect();} catch (MalformedURLException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}return json;}public String getAccessToken(String client_id,String client_secret){String token="";try {URL url = new URL("https://a1.easemob.com/1177180507177107/bit/token");HttpURLConnection conn = (HttpURLConnection) url.openConnection();conn.setDoOutput(true);conn.setRequestMethod("POST");conn.setRequestProperty("Content-Type", "application/json");String input = "{\"grant_type\":\"client_credentials\"," +"\"client_id\":\""+client_id+"\"," +"\"client_secret\":\""+client_secret+"\"}";OutputStream os = conn.getOutputStream();os.write(input.getBytes());os.flush();System.out.println(conn.getResponseCode());if (conn.getResponseCode() != 200) {}else{BufferedReader br = new BufferedReader(new InputStreamReader((conn.getInputStream())));String output;StringBuffer sb = new StringBuffer();System.out.println("Output from Server .... \n");while ((output = br.readLine()) != null) {sb.append(output);}JSONObject json = JSONObject.fromObject(sb.toString());token =  json.getString("access_token"); }conn.disconnect();} catch (MalformedURLException e) {e.printStackTrace();} catch (ProtocolException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}return token;}/*** 创建聊天室* @param name  聊天室的名称(俱乐部id)* @param description   聊天室的描述* @param owner 聊天室的创建者* @return*/public String createChatRooms(String name , String description) {String id = "";try {URL url = new URL(uri + "chatrooms");HttpURLConnection conn = (HttpURLConnection) url.openConnection();conn.setDoOutput(true);conn.setRequestMethod("POST");conn.setRequestProperty("Content-Type", "application/json");conn.setRequestProperty("Authorization", "Bearer "+ hx_access_token);String input = "{\"name\":\""+name+"\",\"description\":\""+description+"\"" +",\"maxusers\":\"500\",\"owner\":\"88888888\"}";System.out.println(input);OutputStream os = conn.getOutputStream();os.write(input.getBytes());os.flush();System.out.println(conn.getResponseCode());if (conn.getResponseCode() != 200) {} else {BufferedReader br = new BufferedReader(new InputStreamReader((conn.getInputStream())));String output;StringBuffer sb = new StringBuffer();System.out.println("Output from Server .... \n");while ((output = br.readLine()) != null) {sb.append(output);}System.out.println(sb.toString());JSONObject json = JSONObject.fromObject(sb.toString());id =  JSONObject.fromObject(json.getString("data")).getString("id");}conn.disconnect();} catch (MalformedURLException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}return id;}public void addChatRooms(String clubID , String username) {try {URL url = new URL(uri + "chatrooms/"+clubID+"/users/"+username);HttpURLConnection conn = (HttpURLConnection) url.openConnection();conn.setDoOutput(true);conn.setRequestMethod("POST");conn.setRequestProperty("Content-Type", "application/json");conn.setRequestProperty("Authorization", "Bearer "+ hx_access_token);System.out.println(conn.getResponseCode());if (conn.getResponseCode() != 200) {} else {BufferedReader br = new BufferedReader(new InputStreamReader((conn.getInputStream())));String output;StringBuffer sb = new StringBuffer();System.out.println("Output from Server .... \n");while ((output = br.readLine()) != null) {sb.append(output);}System.out.println(sb.toString());}conn.disconnect();} catch (MalformedURLException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}   /*** 发送消息* @param uid  俱乐部id/接收者* @param msg   会员id/文本内容 * @param form  发送者* @return*/public int sendMessage(String uid, String msg, String form) {int i = 0;try {URL url = new URL(uri + "messages");HttpURLConnection conn = (HttpURLConnection) url.openConnection();conn.setDoOutput(true);conn.setRequestMethod("POST");conn.setRequestProperty("Content-Type", "application/json");conn.setRequestProperty("Authorization", "Bearer "+ hx_access_token);// String input = "{\"username\":\"" + username +// "\",\"password\":\"" + password + "\",\"nickname\":\"" + nickname// + "\"}";String input = "{\"target_type\":\"users\",\"target\":[\"" + uid+ "\"],\"msg\":{\"type\":\"txt\"," + "\"msg\":\"" + msg+ "\"},\"form\":\"" + form + "\"}";System.out.println(input);OutputStream os = conn.getOutputStream();os.write(input.getBytes("utf-8"));os.flush();System.out.println(conn.getResponseCode());if (conn.getResponseCode() != 200) {} else {BufferedReader br = new BufferedReader(new InputStreamReader((conn.getInputStream())));String output;StringBuffer sb = new StringBuffer();System.out.println("Output from Server .... \n");while ((output = br.readLine()) != null) {sb.append(output);}System.out.println(sb.toString());}conn.disconnect();} catch (MalformedURLException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}return i;}public static void main(String[] args) {
//      System.out.println(new HuanXinUtil().createChatRooms("f78761ea7067493fbc7725d384d2c52d","云南当康休闲健身"));
//      new HuanXinUtil().createUser("f78761ea7067493fbc7725d384d2c52d", "f78761ea7067493fbc7725d384d2c52d", "云南当康休闲健身");
//      new HuanXinUtil().sendMessage("1", "87f332cbea614da1abd4406cf159857b", "app_system");System.out.println(new HuanXinUtil().getAccessToken("YXA69Pn2MFHbEeiNfoEOzo_SXg", "YXA6XYobMFtKN0Ag78Q0rmf53kxjdtk"));}
}
... prompt'''

4、环信在java后台的配置

注意:此时的hx_client_id和hx_client_Secret是你注册完环信账号后系统分配的(上图有标注)
5、hx_access_token的获取
输入Client ID:和Client Secret:调用HuanXinUtil工具类中getAccessToken()方法获取

6、调研createUser()接口创建用户


7、查看是否成功创建用户

后台注册环信IM账号相关推荐

  1. iOS 即时视频和聊天(基于环信)

    先上效果图: 屏幕快照 2015-07-30 下午5.19.46.png 说说需求:开发一个可以进行即时视频聊天软件. 最近比较忙,考完试回到公司就要做这个即时通信demo.本来是打算用xmpp协议来 ...

  2. 项目接入即时聊天客服系统(环信系统)PHP后端操作

    环信工作原理: 一.由于环信没有直接的接口来主动调取本项目中的用户数据,所有用户信息必须在环信服务器上注册对应信息成为环信的用户:(这样才能当用户进入聊天时显示其基本信息,如:名称.昵称.电话.邮箱等 ...

  3. 环信即时通讯的基本集成

    项目中是基于环信SDK2.0集成开发,所以本文只介绍SDK2.0的基本集成. 第一,前期准备工作,上传推送证书,注册环信开发者账号.然后开始导入环信SDK,EaseMobSDK,导入环信文档2.x需求 ...

  4. 环信 php后台集成,集成环信IM功能

    之前在项目中做过环信IM,一直都没时间整理这些笔记很功能 ,如今偷得浮生半日,花时间把之前的代码看了下 独自乐乐,不如众乐乐,然后把这部分整理下,分享给大家. 1  首先 注册环信官网注册账号 环信官 ...

  5. android环信即时通讯集成坑爹 注册报错208解决

    第一种情况:    你用的环信APPkey 是授权模式的   只要改成开放模式就可以了 第二种情况:    上述情况在环信官网都有说明  但是这种情况  环信官网就没得说明   只说的是同步方法 注册 ...

  6. 基于环信实现在线聊天功能

    由于最近接触到的项目需要用到聊天功能,关于聊天的SDK跟安卓同事统一,最终选择了环信.在官方下载好SDK,并研究了一波,最终实现自定义聊天功能. ###实现前准备 1.下载环信SDK,我使用的版本是V ...

  7. 【IM集成攻略】手把手教你环信对接离线推送,再搞不定把你头打掉

    前提条件 1.macOS系统,安装了xcode,并且配置好了cocoapods第三方管理工具 2.有苹果开发者账号 3.有环信开发者账号 (注册地址:https://console.easemob.c ...

  8. php 环信easyui_php集成环信IM即时通讯系统(大致流程方法)

    很多场景需要用到即时通讯,独立开发成本太高,选择第三方比较合适,就使用过的环信做一个大致流程介绍,不评价好坏 1,注册环信即时通讯云账号:官网.然后登录后台创建应用 注:开放注册是指不需要管理员授权同 ...

  9. 环信im Flutter sdk使用帮助

    文章主要讲解环信im Flutter sdk如何使用. 环信官网 IMGeek问题反馈 环信iOS集成文档 环信Android集成文档 flutter sdk源码地址: Github 任何问题可以通过 ...

最新文章

  1. (转)Unity3D - 性能优化之Draw Call
  2. ADO.NET并发性
  3. iOS架构-cocoapods之公共库的发布与集成(16)
  4. Spring开发环境搭建
  5. OpenCV:透视变换
  6. 包子和饺子之扫地机器人_扫地机器人:行业发展放缓,市场暗藏潜力
  7. 显示用户上次访问时间
  8. js 调用微信浏览器内置方法,启动支付
  9. 拓端tecdat|Python中用Prophet模型对天气时间序列进行预测与异常检测
  10. java 程序计数器_JVM入门系列之程序计数器
  11. 基于中间人攻击给电视盒子安装apk
  12. ImageOptim-无损图片压缩Mac版
  13. HCIP(八)---OSPF的防环机制(SPF算法)
  14. median filter
  15. 初中计算机数学,初中数学
  16. ffmpeg 常用命令总结:(avi转MP4、MP4转ts、视频压缩、去除视频声音、合并音频和视频)
  17. 树莓派+STM32人脸识别门禁系统(中)----- 树莓派部分
  18. ZBrush如何进行头骨的雕刻
  19. Linux常用命令——mv命令
  20. iPhone 输入正确密码,但提示不正确怎么办?

热门文章

  1. 什么是做空和做多以及什么是做空期权波动率
  2. 聚乙烯醇(PVA)/壳聚糖(CTS)/氧化石墨烯(GO)水凝胶吸附和解吸实验(供应PNIPA/膨润土复合/聚乙烯醇/魔芋胶复合/HAP纳米纤维/GelMA复合丝素蛋白(SF)复合水凝胶等)
  3. 13种APP推广手段与渠道
  4. thingworx- 用户组
  5. c语言找出最大值和最小值并按降序排输出,C语言用排序法给十个数降序排列,用C语言编写,输入10个数按降序排列...
  6. constructor构造函数(React)
  7. 流程表结构设计第二版
  8. 关于vue移动端下载图片
  9. mysql -u -p 可以直接登陆到mysql
  10. c语言程序从哪里开始执行