php 环信 接口的例子

<?php

class Hxcall
{

private $app_key = ‘yunjiankang#medical‘;

private $client_id = ‘YXA6ARjBgDnxEeabYgu2ntsuFw‘;

private $client_secret = ‘YXA6bW6DcFhnjwgAobVekEXRWqvWTb4‘;

private $url = "https://a1.easemob.com/yunjiankang/medical";
/*
* 获取APP管理员Token
*/
function __construct()
{
$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;
}
}

$rs = new Hxcall();
// 注册的用户
//echo $rs->hx_register(‘qwerasd‘, ‘qazwsx‘, ‘福州123‘ );
// 给IM用户的添加好友
// echo $rs->hx_contacts(‘test2‘, ‘test1‘);
/* 发送文本消息 */
// echo $rs->hx_send(‘qwerasd‘,‘test3‘,‘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(‘qwerasd‘);
/* 修改用户昵称 */
// 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‘);

时间: 2024-08-08 21:28:38

php 环信 接口的例子的相关文章

阿里大鱼短信接口

阿里大于短信验证实现完整代码分享 http://bbs.2ccc.com/topic.asp?topicid=515649 补充:跨平台的例子可以去csdn下载这位大神的demo http://download.csdn.net/detail/hansxia888/9603061 1 这两天搞那个sign,搞的烦躁,问了一下论坛的那位同学,开口500. 2 唉,delphi这种偏门的就是这样,啥都贵. 3 后来想想用C#按阿里那边的帮助文档写了个,可以正常发送.然后把C#翻译成Delphi就可以

环信SDK

初始化 SDK 第 1 步:引入相关头文件 #import “EMSDK.h”. 第 2 步:在工程的 AppDelegate 中的以下方法中,调用 SDK 对应方法. - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { //AppKey:注册的AppKey,详细见下面注释. //apnsCertName:推送证书名(不需要加后

Android 环信的使用

1.导入包 http://docs.easemob.com/doku.php?id=start:200androidcleintintegration:10androidsdkimport 在清单文件AndroidManifest.xml里加入以下权限,以及写上你注册的appkey 1.权限配置: <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://

线程阻塞问题-功能:环信登录失败后自动登录5次

项目中集成了环信,点击联系客服时需要调取环信的接口,现在有个要求,如果调取环信的登录接口失败了,就要重新登录,但是这个操作不能影响主线程的操作,登录次数达到一定的数量后停止登录.首先:环信的登录时同步的,需要我们开启一个线程,不然当环信登录失败时会很容易造成界面卡死的情况.+ (void)loginWithSuccessBlock:(void(^)())success FailureBlock:(void(^)())failure{   // 自己封装的一个公共类 // 开启一个线程防止登录失败

短信接口的介绍和功能

短信接口是面向有一定技术开发能力的用户而单独研发的信息(sms)接口.本接口采用了通用的HTTP形式,可以支持各种操作系统和开发语言,只要电脑能上网就可以使用发送信息,可以根据需要开发自己的一套信息平台.也可以简单的把信息接口嵌入到您自己的系统中,快速拥有无线应用,完善您的服务!同时提供各种语言的例子代码. 1.一点接入,全网服务    企业信息服务覆盖全国,全面开通中国移动.中国联通和中国电信所有用户. 2.对接容易,覆盖面广    本接口采用了通用的HTTP形式,可以支持各种操作系统和开发语

iOS-即时通讯-环信

下载地址:http://www.easemob.com/downloads SDK目录讲解 1.从官网下载下来的包分为如下四部分: 环信iOS SDK 开发使用 环信iOS release note 更新说明 环信iOS UIDemo 工程源码 环信iOS UIDemo.ipa 打包的ipa 2.iOS SDK 中有三个子文件夹:include.lib.resource. lib(libEaseMobClientSDK.a不包含实时语音功能,libEaseMobClientSDKLite.a包含

Android 即时音视频解决方案1——环信

需求 即时音视频通话 解决方案 环信,官方地址http://www.easemob.com/ SDK下载 http://downloads.easemob.com/downloads/easemob-sdk-2.2.2.zip SDK集成 解压下载的文件,将libs下的easemobchat_2.2.2.jar拷到Android Studio项目中的libs中,并在main目录下新建jniLibs目录,将so文件拷到其中.如图 代码抽取 我们只需要即时音视频的功能,因此环信提供的Demo中有多余

短信接口源码,实现按钮变灰,倒计时的功能,非常不错

不多说费话了,直接上代码,有什么不懂的朋友可以给我留言,关于代码中返回值代表多少请参考官网,短信接口:http://www.56dxw.com  关于js的下载可以百度搜索一下,关于图片验证码可以从网上找一下,在这儿只记录一下如何调用短信接口实现短信的发送的 reg.aspx========================================================= <%@ Page Language="C#" AutoEventWireup="t

环信_入门

环信服务器端REST平台概述 关于REST REST(Representational State Transfer)是一种轻量级的Web Service架构风格,可以翻译成“表述性状态转移”,实现和操作明显比SOAP和XML-RPC更为简洁,可以完全通过HTTP协议实现,还可以利用缓存Cache来提高响应速度,性能.效率和易用性上都优于SOAP协议. REST架构遵循了CRUD原则,CRUD原则对于资源只需要四种行为:Create(创建).Read(读取).Update(更新)和Delete(