环信通讯 ,方便以后用 直接过来拿
来源:互联网 发布:linux进程管理命令 编辑:程序博客网 时间:2024/04/29 12:01
//环信通讯
class Hxcall
{
private $app_key = '1148161101115152#takephoto1';
private $client_id = 'YXA6CT1YEKAoEeasKkNxKeG_YA';
private $client_secret = 'YXA6Ki42ojEfWxRXKTTcnd4_w62_t_8';
private $url = "https://a1.easemob.com/";
private $token = '';
/*
* 获取APP管理员Token
*/
function __construct()
{
$key = explode('#', $this->app_key);
$this->url = $this->url.$key[0].'/'.$key[1];
$url = $this->url. "/token";
$data = array(
'grant_type' => 'client_credentials',
'client_id' => $this->client_id,
'client_secret' => $this->client_secret
);
$rs = json_decode($this->curl($url, $data), true);
$this->token = $rs['access_token'];
}
/*
* 注册IM用户(授权注册)
*/
public function hx_register($username, $password, $nickname)
{
$url = $this->url . "/users";
$data = array(
'username' => $username,
'password' => $password,
'nickname' => $nickname
);
$header = array(
'Content-Type: application/json',
'Authorization: Bearer ' . $this->token
);
return $this->curl($url, $data, $header, "POST");
}
/*
* 给IM用户的添加好友
*/
public function hx_contacts($owner_username, $friend_username)
{
$url = $this->url . "/users/${owner_username}/contacts/users/${friend_username}";
$header = array(
'Authorization: Bearer ' . $this->token
);
return $this->curl($url, "", $header, "POST");
}
/*
* 解除IM用户的好友关系
*/
public function hx_contacts_delete($owner_username, $friend_username)
{
$url = $this->url . "/users/${owner_username}/contacts/users/${friend_username}";
$header = array(
'Authorization: Bearer ' . $this->token
);
return $this->curl($url, "", $header, "DELETE");
}
/*
* 查看好友
*/
public function hx_contacts_user($owner_username)
{
$url = $this->url . "/users/${owner_username}/contacts/users";
$header = array(
'Authorization: Bearer ' . $this->token
);
return $this->curl($url, "", $header, "GET");
}
/* 发送文本消息 */
public function hx_send($sender, $receiver, $msg)
{
$url = $this->url . "/messages";
$header = array(
'Authorization: Bearer ' . $this->token
);
$data = array(
'target_type' => 'users',
'target' => array(
'0' => $receiver
),
'msg' => array(
'type' => "txt",
'msg' => $msg
),
'from' => $sender,
'ext' => array(
'attr1' => 'v1',
'attr2' => "v2"
)
);
return $this->curl($url, $data, $header, "POST");
}
/* 查询离线消息数 获取一个IM用户的离线消息数 */
public function hx_msg_count($owner_username)
{
$url = $this->url . "/users/${owner_username}/offline_msg_count";
$header = array(
'Authorization: Bearer ' . $this->token
);
return $this->curl($url, "", $header, "GET");
}
/*
* 获取IM用户[单个]
*/
public function hx_user_info($username)
{
$url = $this->url . "/users/${username}";
$header = array(
'Authorization: Bearer ' . $this->token
);
return $this->curl($url, "", $header, "GET");
}
/*
* 获取IM用户[批量]
*/
public function hx_user_infos($limit)
{
$url = $this->url . "/users?${limit}";
$header = array(
'Authorization: Bearer ' . $this->token
);
return $this->curl($url, "", $header, "GET");
}
/*
* 重置IM用户密码
*/
public function hx_user_update_password($username, $newpassword)
{
$url = $this->url . "/users/${username}/password";
$header = array(
'Authorization: Bearer ' . $this->token
);
$data['newpassword'] = $newpassword;
return $this->curl($url, $data, $header, "PUT");
}
/*
* 删除IM用户[单个]
*/
public function hx_user_delete($username)
{
$url = $this->url . "/users/${username}";
$header = array(
'Authorization: Bearer ' . $this->token
);
return $this->curl($url, "", $header, "DELETE");
}
/*
* 修改用户昵称
*/
public function hx_user_update_nickname($username, $nickname)
{
$url = $this->url . "/users/${username}";
$header = array(
'Authorization: Bearer ' . $this->token
);
$data['nickname'] = $nickname;
return $this->curl($url, $data, $header, "PUT");
}
/*
*
* curl
*/
private function curl($url, $data, $header = false, $method = "POST")
{
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
if ($header) {
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
}
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
if ($data) {
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
}
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
$ret = curl_exec($ch);
return $ret;
}
}
// 注册的用户
//echo $rs->hx_register('qwerasd', 'qazwsx', '福州123' );
// 给IM用户的添加好友
// echo $rs->hx_contacts('admin888', 'qwerasd');
/* 发送文本消息 */
// echo $rs->hx_send('213123','admin888','dfadsr214wefaedf');
/* 消息数统计 */
// echo $rs->hx_msg_count('admin888');
/* 获取IM用户[单个] */
// echo $rs->hx_user_info('admin888');
/* 获取IM用户[批量] */
//echo $rs->hx_user_infos('20');
/* 删除IM用户[单个] */
// echo $rs->hx_user_delete('wwwwww');
/* 修改用户昵称 */
// echo $rs->hx_user_update_nickname('asaxcfasdd','网络科技');
/* 重置IM用户密码 */
// echo $rs->hx_user_update_password('asaxcfasdd','asdad');
/* 解除IM用户的好友关系 */
// echo $rs->hx_contacts_delete('admin888', 'qqqqqqqq');
/* 查看好友 */
//echo $rs->hx_contacts_user('admin888');
class Hxcall
{
private $app_key = '1148161101115152#takephoto1';
private $client_id = 'YXA6CT1YEKAoEeasKkNxKeG_YA';
private $client_secret = 'YXA6Ki42ojEfWxRXKTTcnd4_w62_t_8';
private $url = "https://a1.easemob.com/";
private $token = '';
/*
* 获取APP管理员Token
*/
function __construct()
{
$key = explode('#', $this->app_key);
$this->url = $this->url.$key[0].'/'.$key[1];
$url = $this->url. "/token";
$data = array(
'grant_type' => 'client_credentials',
'client_id' => $this->client_id,
'client_secret' => $this->client_secret
);
$rs = json_decode($this->curl($url, $data), true);
$this->token = $rs['access_token'];
}
/*
* 注册IM用户(授权注册)
*/
public function hx_register($username, $password, $nickname)
{
$url = $this->url . "/users";
$data = array(
'username' => $username,
'password' => $password,
'nickname' => $nickname
);
$header = array(
'Content-Type: application/json',
'Authorization: Bearer ' . $this->token
);
return $this->curl($url, $data, $header, "POST");
}
/*
* 给IM用户的添加好友
*/
public function hx_contacts($owner_username, $friend_username)
{
$url = $this->url . "/users/${owner_username}/contacts/users/${friend_username}";
$header = array(
'Authorization: Bearer ' . $this->token
);
return $this->curl($url, "", $header, "POST");
}
/*
* 解除IM用户的好友关系
*/
public function hx_contacts_delete($owner_username, $friend_username)
{
$url = $this->url . "/users/${owner_username}/contacts/users/${friend_username}";
$header = array(
'Authorization: Bearer ' . $this->token
);
return $this->curl($url, "", $header, "DELETE");
}
/*
* 查看好友
*/
public function hx_contacts_user($owner_username)
{
$url = $this->url . "/users/${owner_username}/contacts/users";
$header = array(
'Authorization: Bearer ' . $this->token
);
return $this->curl($url, "", $header, "GET");
}
/* 发送文本消息 */
public function hx_send($sender, $receiver, $msg)
{
$url = $this->url . "/messages";
$header = array(
'Authorization: Bearer ' . $this->token
);
$data = array(
'target_type' => 'users',
'target' => array(
'0' => $receiver
),
'msg' => array(
'type' => "txt",
'msg' => $msg
),
'from' => $sender,
'ext' => array(
'attr1' => 'v1',
'attr2' => "v2"
)
);
return $this->curl($url, $data, $header, "POST");
}
/* 查询离线消息数 获取一个IM用户的离线消息数 */
public function hx_msg_count($owner_username)
{
$url = $this->url . "/users/${owner_username}/offline_msg_count";
$header = array(
'Authorization: Bearer ' . $this->token
);
return $this->curl($url, "", $header, "GET");
}
/*
* 获取IM用户[单个]
*/
public function hx_user_info($username)
{
$url = $this->url . "/users/${username}";
$header = array(
'Authorization: Bearer ' . $this->token
);
return $this->curl($url, "", $header, "GET");
}
/*
* 获取IM用户[批量]
*/
public function hx_user_infos($limit)
{
$url = $this->url . "/users?${limit}";
$header = array(
'Authorization: Bearer ' . $this->token
);
return $this->curl($url, "", $header, "GET");
}
/*
* 重置IM用户密码
*/
public function hx_user_update_password($username, $newpassword)
{
$url = $this->url . "/users/${username}/password";
$header = array(
'Authorization: Bearer ' . $this->token
);
$data['newpassword'] = $newpassword;
return $this->curl($url, $data, $header, "PUT");
}
/*
* 删除IM用户[单个]
*/
public function hx_user_delete($username)
{
$url = $this->url . "/users/${username}";
$header = array(
'Authorization: Bearer ' . $this->token
);
return $this->curl($url, "", $header, "DELETE");
}
/*
* 修改用户昵称
*/
public function hx_user_update_nickname($username, $nickname)
{
$url = $this->url . "/users/${username}";
$header = array(
'Authorization: Bearer ' . $this->token
);
$data['nickname'] = $nickname;
return $this->curl($url, $data, $header, "PUT");
}
/*
*
* curl
*/
private function curl($url, $data, $header = false, $method = "POST")
{
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
if ($header) {
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
}
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
if ($data) {
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
}
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
$ret = curl_exec($ch);
return $ret;
}
}
// 注册的用户
//echo $rs->hx_register('qwerasd', 'qazwsx', '福州123' );
// 给IM用户的添加好友
// echo $rs->hx_contacts('admin888', 'qwerasd');
/* 发送文本消息 */
// echo $rs->hx_send('213123','admin888','dfadsr214wefaedf');
/* 消息数统计 */
// echo $rs->hx_msg_count('admin888');
/* 获取IM用户[单个] */
// echo $rs->hx_user_info('admin888');
/* 获取IM用户[批量] */
//echo $rs->hx_user_infos('20');
/* 删除IM用户[单个] */
// echo $rs->hx_user_delete('wwwwww');
/* 修改用户昵称 */
// echo $rs->hx_user_update_nickname('asaxcfasdd','网络科技');
/* 重置IM用户密码 */
// echo $rs->hx_user_update_password('asaxcfasdd','asdad');
/* 解除IM用户的好友关系 */
// echo $rs->hx_contacts_delete('admin888', 'qqqqqqqq');
/* 查看好友 */
//echo $rs->hx_contacts_user('admin888');
0 0
- 环信通讯 ,方便以后用 直接过来拿
- 微信开发经常会用到的一些方法,做一次总结,以后直接过来拿
- Js获取当前日期,方便以后直接用
- 一个box2d中的工具类,拿过来直接用的那种
- 用户体验之自定义Toast,拿过来直接用(Toast的重复显示)
- 编码问题,写得灰常好,转载过来方便以后查看
- Java之反射(部分文档摘过来方便以后查看)
- Map封装,方便以后直接调用
- 一片WebView的好文章,直接拿过来 = =
- js打印和ie自带打印(从别的地方复制过来的方便自己以后用)
- js 判断 整数与保留两位小数的 函数.[ 留着,以后用就直接来拿 ]
- 文本限制大全(直接把名字都拿过来了)
- Android环信通讯
- 把Tiled中做出的地图弄到项目中~~就是懒,为了以后直接复制写过来
- tp5 集成环信通讯
- 详细介绍使用PHP框架的原因(我感觉在没事的时候应该多多的搭建一些框架 用的时候直接搬过来用方便的很)
- fstream 几种打开文件的方式,方便以后用
- C#下载,用的话直接拷过来用
- 解析在PHP中使用全局变量的几种方法
- 极光推送 自己整理的关于极光的工具类
- ExecutorService 的使用
- 收藏的webmagic的好文章
- 机器学习: DeepDreaming with TensorFlow (一)
- 环信通讯 ,方便以后用 直接过来拿
- cocos2d的基础知识
- 【投资日记】2016-11-30
- 设计模式学习笔记--中介者模式
- Duilb QQ桌面上Edit的使用
- 基于Python的Xgboost模型实现
- mongo数据库入门
- directx 三 HLSL高级着色编程
- Android 文件的保存与读取之自带储存空间