• 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');

  • 相关阅读:
    软考解析:2014年上半年下午试题
    软考解析:2014年下半年下午试题
    软考解析:2015年下半年下午试卷
    软考解析:2015年上半年下午试卷
    怎样完善和推广自己的理论模型?
    怎样完善和推广自己的理论模型?
    Android开发——常见的内存泄漏以及解决方案(一)
    聊聊Android5.0中的水波纹效果
    JVM——自定义类加载器
    JVM——Java类加载机制总结
  • 原文地址:https://www.cnblogs.com/lijiageng/p/5667702.html
Copyright © 2020-2023  润新知