环信用户导入PHP

$hxurl = "https://a1.easemob.com/51xxx/aaaa/";
/**
     * 批量删除用户
     * 描述:删除某个app下指定数量的环信账号。上述url可一次删除300个用户,数值可以修改 建议这个数值在100-500之间,不要过大
     *
     * @param $limit="300" 默认为300条
     * @param $ql 删除条件
     *          如ql=order+by+created+desc 按照创建时间来排序(降序)
     */
    function batchDeleteUser($limit = "300", $ql = ‘‘) {
        global $hxurl;
        $url = $hxurl."users?limit=" . $limit;
        if (! empty ( $ql )) {
            $url = $hxurl."users?ql=" . $ql . "&limit=" . $limit;
        }
        $header = array(_get_token());
        $result = _curl_request( $url, ‘‘, $header, $type = ‘DELETE‘ );
        return $result;
    }

    /**
     * 更改用户昵称
     * @param  [string] $username [用户名称]
     * @param  [string] $nickname [用户昵称]
     *
     */
    function editNick($username,$nickname) {
        global $hxurl;
        $formgettoken = $hxurl."users/" . $username;
        $body=array(
            "username"=>$username,
            "nickname"=>$nickname,
        );
        $patoken=json_encode($body);
        $header = array(_get_token());
        $result = _curl_request( $formgettoken, $patoken, $header, $type = ‘PUT‘);
        return $result;
    }
    /**
     * 授权注册模式 || 批量注册
     *
     * @param $options[‘username‘] 用户名
     * @param $options[‘password‘] 密码
     *          批量注册传二维数组
     */
    function accreditRegister($options) {
        global $hxurl;
        $formgettoken = $hxurl."users";
        $header = array(_get_token());
        $result = _curl_request ( $formgettoken, json_encode($options), $header );
        return $result;
    }

//授权注册模式 POST /{org_name}/{app_name}/users
function registerToken($username,$pwd,$nickname=‘‘)
{
    global $hxurl;
    $formgettoken=$hxurl."users";
    $body=array(
        "username"=>$username,
        "password"=>$pwd,
        ‘nickname‘=>$nickname
    );
    $patoken=json_encode($body);
    $header = array(_get_token());
    $res = _curl_request($formgettoken,$patoken,$header);

    $arrayResult =  json_decode($res, true);
    return $arrayResult ;
}
//重置用户密码 PUT /{org_name}/{app_name}/users/{username}/password
function changePwdToken($nikename,$newpwd)
{
    global $hxurl;
    $formgettoken=$hxurl."users/".$nikename."/password";
    $body=array(
        "newpassword"=>$newpwd,
    );
    $patoken=json_encode($body);
    $header = array(_get_token());
    $method = "PUT";
    $res = _curl_request($formgettoken,$patoken,$header,$method);
    $arrayResult =  json_decode($res, true);
    return $arrayResult ;
}
//删除 DELETE /{org_name}/{app_name}/users/{username}
function delUserToken($nikename)
{
    global $hxurl;
    $formgettoken=$hxurl."users/".$nikename;
    $body=array();
    $patoken=json_encode($body);
    $header = array(_get_token());
    $method = "DELETE";
    $res = _curl_request($formgettoken,$patoken,$header,$method);
    $arrayResult =  json_decode($res, true);
    return $arrayResult ;
}
//先获取app管理员token POST /{org_name}/{app_name}/token
function _get_token()
{
    global $hxurl;
    $formgettoken=$hxurl."token";
    $body=array(
    "grant_type"=>"client_credentials",
    "client_id"=>"xxxxxxxxxxxxxxxxxxxxx",
    "client_secret"=>"xxxxxxxxxxxxxxxxxxxxxx"
    );
    $patoken=json_encode($body);
    $res = _curl_request($formgettoken,$patoken);
    $tokenResult = array();

    $tokenResult =  json_decode($res, true);
    //var_dump($tokenResult);
    return "Authorization: Bearer ". $tokenResult["access_token"];
}

function _curl_request($url, $body, $header = array(), $method = "POST")
{
    array_push($header, ‘Accept:application/json‘);
    array_push($header, ‘Content-Type:application/json‘);

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 60);
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    //curl_setopt($ch, $method, 1);

    switch ($method){
        case "GET" :
            curl_setopt($ch, CURLOPT_HTTPGET, true);
        break;
        case "POST":
            curl_setopt($ch, CURLOPT_POST,true);
        break;
        case "PUT" :
            curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
        break;
        case "DELETE":
            curl_setopt ($ch, CURLOPT_CUSTOMREQUEST, "DELETE");
        break;
    }

    curl_setopt($ch, CURLOPT_USERAGENT, ‘SSTS Browser/1.0‘);
    curl_setopt($ch, CURLOPT_ENCODING, ‘gzip‘);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 1);
    if (isset($body{3}) > 0) {
        curl_setopt($ch, CURLOPT_POSTFIELDS, $body);
    }
    if (count($header) > 0) {
        curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
    }

    $ret = curl_exec($ch);
    $err = curl_error($ch);
    $err = curl_getinfo($ch,CURLINFO_HTTP_CODE); //设置返回状态码
    curl_close($ch);
    //clear_object($ch);
    //clear_object($body);
    //clear_object($header);

    if ($err) {
        return $err;
    }

    return $ret;
}
时间: 2024-10-14 19:54:31

环信用户导入PHP的相关文章

环信Demo 导入错误

今天想导入环信的Demo 去看一看环信学习一下 谁知道导入出现这么个问题 Error:(1, 0) Minimum supported Gradle version is 3.3. Current version is 2.14.1. If using the gradle wrapper, try editing the distributionUrl in H:\Git-Work\PointOfCare\gradle\wrapper\gradle-wrapper.properties to

征信用户数据分析

最近在参加征信的数据挖掘与分析,征信通俗点说就是用户的信用度评分. 初步分析已有的数据时,将用户的信用评分分为以下5个维度. 维度:维度的划分是基于已有的数据源所能获得的信息来指定的,当然还有其他的某些数据信息暂时没有添加进来. 维度评分:在初版时,自己估计打分,并没有细究这些分值比例. 维度权重: (当前行维度评分/总评分)* 100 这样就得到我们大概的方向分类,然后我们在细分每个大维度下的小指标,如下表: 最后根据每项指标的不通区间分别指定分值如下表: 这个总的分值区间是300-900,考

使用环信账号发送系统通知及消息提醒

package com.shangyu.utils; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.UnsupportedEncodingException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import j

AD帐户操作C#示例代码(一)——导入用户信息

最近写了一个AD帐户导入的小工具(为啥写作“帐”户呢?),跟大家分享下相关代码,欢迎各位高手指教! 首先,我准备一个这样的Excel文件作为导入模版,并添加了一些测试数据. 然后,我打开Visual Studio 2012,新建一个Windows窗体应用程序.在主窗体界面,我放了一些Label.TextBox.Button控件,还有一个ProgressBar. 开始写代码.首先写从Excel里读取数据的方法. private static async Task<DataTable> GetTa

问题帐户需求分析

一.如果你为Liz开发问题帐户分析系统,你准备如何进行需求分析,第一步要做什么? 因为Liz遇到的问题是模糊的不清楚的,它只能作为要实现功能的参考和依据,所以第一步我们需要从每一项模糊的问题中提取出清晰的功能和具体的业务流程. 二.你认为目前的需求分析材料中欠缺哪些内容? 材料中的欠债规则只是提到了,没有明确的写出,这对功能的实现也是必不可少的. 三.描述一下拟开发系统原型(包括哪些功能,数据库如何设计,操作的流程,界面的设计等等). 功能: ①管理员的注册.登录. ②用户的注册.登录. ③用户

5秒钟解决环信ipv6适配问题-b

最近苹果要求app都要适配ipv6,我用的环信2x版本,据我所知环信2.2.5及之后版本才适配了ipv6.怎么检测你的app是否适配了apv6呢?可以自己搭配个ipv6环境,然后在ipv6环境下2.2.5以下版本无法登录.我的是2.2.2版本,之前我尝试把整个sdk换成2.2.5版本,但是因为项目需要改动的地方实在太多放弃了,后来想想既然适配ipv6,应该是和界面和环信用的第三方库之类的关系不大,应该和service有关于是我锁定了EaseMobSDK这个目录下的这三个文件夹,后来试了了下只要把

php开发搭建OA信用盘幸运飞艇系统源码网站常见问题总结

PHP 是一种易于学习和使用的服务器端脚本语言.语法吸收了C语言.Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域.PHP 独特的语法混合了C.Java.Perl以及PHP自创的语法.它可以比CGI或者Perl更快速地执行动态网页.用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成HTML标记的CGI要高许多:PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快. 现

LMT-LicManager许可证管理系统对license的分配调度

 LMT-LicManager许可证管理系统对license的分配调度 管理是一项很能反映资源分配本质的过程. 从生产经营活动的整个流程来说,人.财,物的消耗和增值贯穿始终.俗话说吃不穷,穿不穷,算计不到就是穷.以财务为主线的资源分配是管理的主体.小到家庭理财,大到企业规划,无一离不开计划. 在企业信息化管理领域也是一样,就拿大型企业的license server管理来说,软件的license server很多,每一类浮点license都涉及一个不同的license server,由于保证稳定安

点评国内各大在线app生成平台

第一个:应用之星-无需编码的在线手机应用开发平台-移动开发平台-Androi应用开发 应用之星是免费的无需编码.基于组件的在线手机应用开发平台,app软件开发平台,手机软件开发平台,为移动开发人员减少门槛,让你不懂代码,也能制作出精美的Android应用,轻松实现高效率.高盈利的开发梦想. 应用之星的口号:应用之星是在线手机应用开发平台,无需编码技术,人人都能开发. 官网:http://www.appstar.com.cn/ 一句话点评:这个平台非常厉害.是中兴通讯的,能自由发挥创意定制专属ap