环信即时通讯——集成客户端

环信即时通讯——集成客户端

最近公司在开发一款 APP,需要使用环信即时通讯来做及时聊天和直播,找了好多官方的 REST API 发现并没有把直播集成服务写完,于是自己完善了一下,与大家分享 O (∩_∩) O
话不多说上代码

namespace yournamespace class Easemob{ private $client_id; private $client_secret; private $org_name; private $app_name; private $url; //------------------------------------------------------用户体系 /** * 初始化参数 * * @param array $options * @param $options['client_id'] * @param $options['client_secret'] * @param $options['org_name'] * @param $options['app_name'] */ public function __construct($options) { $this->client_id = 'XXXXXXXXXXXXXX'; $this->client_secret = 'XXXXXXXXXXXXXX'; $this->org_name = 'XXXXXXXXXXXXXX'; $this->app_name = 'XXXXXXXXXXXXXX'; if (! empty ( $this->org_name ) && ! empty ( $this->app_name )) { $this->url = 'https://a1.easemob.com/' . $this->org_name . '/' . $this->app_name . '/'; } } /** *获取token */ function getToken() { $options=array( "grant_type"=>"client_credentials", "client_id"=>$this->client_id, "client_secret"=>$this->client_secret ); //json_encode()函数,可将PHP数组或对象转成json字符串,使用json_decode()函数,可以将json字符串转换为PHP数组或对象 $body=json_encode($options); //使用 $GLOBALS 替代 global $url=$this->url.'token'; //$url=$base_url.'token'; $tokenResult = $this->postCurl($url,$body,$header=array()); //var_dump($tokenResult['expires_in']); //return $tokenResult; return "Authorization:Bearer ".$tokenResult['access_token']; } /** 授权注册 */ function createUser($username,$password){ $url=$this->url.'users'; $options=array( "username"=>$username, "password"=>$password ); $body=json_encode($options); $header=array($this->getToken()); $result=$this->postCurl($url,$body,
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/112338.html原文链接:https://javaforall.net

(0)
上一篇 2021年11月9日 下午4:00
下一篇 2021年11月9日 下午5:00


相关推荐

  • css transition动画_css3过渡属性有几种

    css transition动画_css3过渡属性有几种css动画效果之transition(动画效果属性)

    2022年4月21日
    52
  • latex中如何画表格_时态结构总结表格

    latex中如何画表格_时态结构总结表格三线表表格的合并三线表在写论文的时候我们常常会用到三线表,三线表的基本语法就是下面这个样子的。如果是在双栏的环境里,如果我们的表格比较大,我们一般需要在表格的环境中加星号,如果是表格只占一栏,这个时候我们就不需要加星号,我们假设我们使用表格的情况是占双栏的。三线表的精华就是那三根线了啦,用的命令就是\toprule,\midrule,\bottomrule这…

    2022年8月11日
    8
  • SpringBoot——Cache缓存初探

    SpringBoot——Cache缓存初探SpringBoot——Cache缓存初探

    2022年4月23日
    55
  • plc梯形图编程入门基础知识_plc梯形图实例详解

    plc梯形图编程入门基础知识_plc梯形图实例详解​上升沿下降沿梯形图解析上升沿:上升沿就是此点从不通到通的过程,在PLC里面表现就是只通一次。举例:上图,当按钮1未按下的时候按钮1是断开的,此点不通,当按钮1被按下,按钮1导通,上面上升沿指令表示当按钮1按下去后,PLC只通一次,后面不管按钮1是否按下,整条线路都不通。下降沿:下降沿就是此点从通到不通的过程,在PLC里面就表现就是只通一次。举例:上图,当按钮1已经按下,按钮1已经导通,在按一次使按钮1瑞口,当按钮1从导通到断开,这条线路通一次,通了以后按钮1不管是通…

    2025年10月25日
    13
  • navicat 15 for my sql 激活码[最新免费获取]

    (navicat 15 for my sql 激活码)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~1STL5S9V8F-eyJsaWNlbnNlSWQiOi…

    2022年3月27日
    172
  • vector初始化与清空[通俗易懂]

    vector初始化与清空[通俗易懂]vector初始化与清空vector初始化vector<int>v;如果直接进行访问v[i]会报错解决方案:可以使用v.resize(n)或者v.resize(n,m)来初始化,前者是使用n个0来初始化,后者是使用n个m来初始化。vector清空//1.clear,清空元素,但不回收空间v.clear();//2.swap,清空元素并回收内存vector<int>().swap

    2025年12月8日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号