对接腾讯IM接口

  1. 不得不说腾讯IM的接口文档写的不尽人意,没对接过的就是个坑他那个UserId是给我这种没对接过的小白留个大坑;

    上面是腾讯IM文档上的导入账号(坑) Identifier 就是我们自定义的UserId 文档上写的是用户名 太坑了
    后面对接群聊的时候 文档上写的是传用户UserId 这谁能知道啊 (反正给我坑的不行,浪费了半天时间,咨询了腾讯客服,不然真发现不了,说了那么多,还得对接,谁让人家是腾讯baba呢)

废话一大堆进入正题(引入对应demo就不用我说了吧)

<?php php
namespace app\api\controller\IM;
use Tencent\TLSSigAPIv2;
use think\facade\Env;
//tp5.1引入腾讯云IM demo
require Env::get('root_path') . 'extend/TlsIm/src/TLSSigAPIv2.php';
class TLSSigAPI{private $sdkappid ='****';private $identifier = "administrator";private $key =“ ******";//自有帐号导入即时通信public function account_import($Identifier,$Nick,$FaceUrl) {$url = "https://console.tim.qq.com/v4/im_open_login_svc/account_import?";$url = $this->getintegrationUrl($url);$data = ["Identifier" => $Identifier,"Nick" => $Nick,"FaceUrl" => $FaceUrl];// var_dump($data);die;$results= postCurls($url,$data);return $results;}//删除public function account_delete($DeleteItem) {$url = "https://console.tim.qq.com/v4/im_open_login_svc/account_delete?";$url = $this->getintegrationUrl($url);$data = ["DeleteItem" => $DeleteItem];//  echo( json_encode($data));$results= postCurls($url,$data);return $results;}//查询帐号public function account_check($CheckItem) {$url = "https://console.tim.qq.com/v4/im_open_login_svc/account_check?";$url = $this->getintegrationUrl($url);$data = ["CheckItem" =>$CheckItem];$results = postCurls($url,$data);return $results;}//查询帐号在线状态public function querystate($To_Account ,$IsNeedDetail) {$url = "https://console.tim.qq.com/v4/im_open_login_svc/account_check?";$url = $this->getintegrationUrl($url);$data = ["IsNeedDetail" => $IsNeedDetail,"To_Account" => $To_Account];//  echo( json_encode($data));$results = postCurls($url,$data);return $results;}//帐号生成的签名public function genUserSig($id) {$TLSSigAPIv2 = new TLSSigAPIv2($this->sdkappid,$this->key);return $TLSSigAPIv2->genUserSig($id);}//链接public function getintegrationUrl($url) {$TLSSigAPIv2 = new TLSSigAPIv2($this->sdkappid,$this->key);$results= $url.http_build_query(array("sdkappid" => $this->sdkappid,"identifier" => $this->identifier,"usersig" => $TLSSigAPIv2->genUserSig("administrator"),'random' => randomsum(32),'contenttype' => 'json'));return $results;}
}

基础引用

  //创建登录标识$TLSSigAPI= new TLSSigAPI();$TLSSigAPI2=$TLSSigAPI->genUserSig($param['phone']);//返回来登录标识给前端使用 存起来$TLSSigAPI->account_import('自定义的userId','自定义昵称','自定义头像');//导入账号

创建群聊

<?phpnamespace app\api\controller\IM;use JPush\Http;
use Tencent\TLSSigAPIv2;
use think\facade\Env;require Env::get('root_path') . 'extend/TlsIm/src/TLSSigAPIv2.php';class TLGroupAPI
{private $sdkappid = '****';private $identifier = "administrator";//默认的管理员private $key = "***";//创建群public function create_group($Owner_Account, $GroupName, $FaceUrl = "", $MaxMemberCount = 500){$url = "https://console.tim.qq.com/v4/group_open_http_svc/create_group?";$url = $this->getintegrationUrl($url);$data = array("Owner_Account" => $Owner_Account,"Type" => "ChatRoom","Name" => $GroupName,"FaceUrl" => $FaceUrl,"MaxMemberCount" => $MaxMemberCount,"ApplyJoinOption" => "NeedPermission");//   "Owner_Account"=> $Owner_Account, // 群主的 UserId(选填)//       "Type"=> "Public", // 群组类型:Private/Public/ChatRoom/AVChatRoom//       "Name"=> $TestGroup, // 群名称(必填)//   "Introduction"=> $Introduction, // 群简介(选填)//   "Notification"=> $Notification, // 群公告(选填)//   "FaceUrl"=>$FaceUrl, // 群头像 URL(选填)//   "MaxMemberCount"=> 500, // 最大群成员数量(选填)//   "ApplyJoinOption"=> "FreeAccess"  // 申请加群处理方式(选填)$results = postCurls($url, $data);return $results;}// 解散群成员public function destroy_group($GroupId){$url = "https://console.tim.qq.com/v4/group_open_http_svc/destroy_group?";$url = $this->getintegrationUrl($url);$data = ["GroupId" => $GroupId,];//   "Owner_Account"=> $Owner_Account, // 群主的 UserId(选填)//       "Type"=> "Public", // 群组类型:Private/Public/ChatRoom/AVChatRoom//       "Name"=> $TestGroup, // 群名称(必填)//   "Introduction"=> $Introduction, // 群简介(选填)//   "Notification"=> $Notification, // 群公告(选填)//   "FaceUrl"=>$FaceUrl, // 群头像 URL(选填)//   "MaxMemberCount"=> 500, // 最大群成员数量(选填)//   "ApplyJoinOption"=> "FreeAccess"  // 申请加群处理方式(选填)$results = postCurls($url, $data);return $results;}//增加群成员public function add_group_member($GroupId, $MemberList){$url = "https://console.tim.qq.com/v4/group_open_http_svc/add_group_member?";$url = $this->getintegrationUrl($url);$data = ["GroupId" => $GroupId,"Silence" => 1,//静默添加"MemberList" => $MemberList,];$results = postCurls($url, $data);return $results;}//删除群成员public function delete_group_member($GroupId, $MemberList){$url = "https://console.tim.qq.com/v4/group_open_http_svc/delete_group_member?";$url = $this->getintegrationUrl($url);$data = ["GroupId" => $GroupId,"Silence" => 1,//静默删除"MemberToDel_Account" => $MemberList,];$results = postCurls($url, $data);return $results;}//获取用户所加入的群组public function get_joined_group_list($MemberList){$url = "https://console.tim.qq.com/v4/group_open_http_svc/get_joined_group_list?";$url = $this->getintegrationUrl($url);$data = ["Member_Account" => $MemberList,];$results = postCurls($url, $data);return $results;}//获取 群组详细信息public function get_group_info($GroupIdList){$url = "https://console.tim.qq.com/v4/group_open_http_svc/get_group_info?";$url = $this->getintegrationUrl($url);$data = ["GroupIdList" => $GroupIdList,];$results = postCurls($url, $data);return $results;}//查询用户在群组中的身份public function get_role_in_group($GroupId, $MemberList){$url = "https://console.tim.qq.com/v4/group_open_http_svc/get_role_in_group?";$url = $this->getintegrationUrl($url);$data = ["GroupId" => $GroupId,"User_Account" => $MemberList,];$results = postCurls($url, $data);return $results;}// 修改用户信息public function modify_group_member_info($GroupId, $Member_Account, $type = "1"){if ($type == 1) {//   设置管理元$data = ["GroupId" => $GroupId, // 要操作的群组(必填)"Member_Account" => $Member_Account, // 要操作的群成员(必填)"Role" => "Admin" // 设置管理员];} elseif ($type == 2) {//   取消管理员$data = ["GroupId" => $GroupId, // 要操作的群组(必填)"Member_Account" => $Member_Account, // 要操作的群成员(必填)"Role" => "Member" // 设置管理员];} else {// 设置指定的群成员禁言时间。$data = ["GroupId" => $GroupId, // 要操作的群组(必填)"Member_Account" => $Member_Account, // 要操作的群成员(必填)"ShutUpTime" => "86400" // 设置管理员];}$url = "https://console.tim.qq.com/v4/group_open_http_svc/modify_group_member_info?";$url = $this->getintegrationUrl($url);// var_dump($data);die;$results = postCurls($url, $data);return $results;}//获取群成员详细资料public function get_group_member_info($GroupId){//   设置管理元$data = ["GroupId" =>$GroupId,  // 要被转移的群 ID(必填)"Limit"=>500, // 最多获取多少个成员的资料"Offset"=>0 // 从第多少个成员开始获取资料];$url = "https://console.tim.qq.com/v4/group_open_http_svc/get_group_member_info?";$url = $this->getintegrationUrl($url);// var_dump($data);die;$results = postCurls($url, $data);return $results;}// 获取 App 中的所有群组public function get_appid_group_list($Limit = 1000, $Next = 0, $GroupType = "Public"){$url = "https://console.tim.qq.com/v4/group_open_http_svc/get_appid_group_list?";$url = $this->getintegrationUrl($url);$data = ["Limit" => 1000,"Next" => 0,"GroupType" => $GroupType // 拉取哪种群组形态,不填为拉取所有];$results = postCurls($url, $data);return $results;}//转让群主public function get_change_group_owner($GroupId, $MemberList){//   设置管理元$data = ["GroupId" => $GroupId, // 要操作的群组(必填)'NewOwner_Account' => $MemberList//要给谁群主(UserId)];$url = "https://console.tim.qq.com/v4/group_open_http_svc/change_group_owner?";$url = $this->getintegrationUrl($url);$results = postCurls($url, $data);return $results;}//链接public function getintegrationUrl($url){$TLSSigAPIv2 = new TLSSigAPIv2($this->sdkappid, $this->key);$results = $url . http_build_query(array("sdkappid" => $this->sdkappid,"identifier" => $this->identifier,"usersig" => $TLSSigAPIv2->genUserSig('administrator'),'random' => randomsum(32),'contenttype' => 'json'));return $results;}}

创建群聊

        //创建群主聊天室$IM=new TLGroupAPI();$domain=$this->request->domain();$create_group=json_decode($IM->create_group('自定义UserId','群聊名称','群聊图片'));if ($create_group->ActionStatus=='OK'){//正确返回,创建成功$param['chat_room'] = $create_group->GroupId;//群聊id保存返给前端即可}else{$param['chat_room'] =0;//创建失败}

单聊
单聊把UserId 返给前端即可;因为我是后端的;项目对接的也是双端,双端我是不会的 代码自行百度好吧;

记录一下对接腾讯云IM的部分接口(群聊、单聊)相关推荐

  1. 直播系统开发之ios对接腾讯云直播sdk

    这里是使用 Swift 语言编写对接腾讯云直播 SDK 的 demo 的示例代码.这段代码仅作为参考,实际应用中可能需要根据您的具体需求进行修改. 首先,你需要从腾讯云控制台获取 SDK 的 AppI ...

  2. 腾讯云直播代码 java_JAVA 对接腾讯云直播的实现

    签名授权 public static T TecentDoPostJsonV3(String url,String key,String secretId, TecentPublicParams he ...

  3. 腾讯直播与 JAVA整合_JAVA对接腾讯云直播如何实现 JAVA对接腾讯云直播实现代码...

    JAVA对接腾讯云直播如何实现?本篇文章小编给大家分享一下JAVA对接腾讯云直播实现代码,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. 签名授权 public static ...

  4. 监控、无人机摄像头RTSP协议对接腾讯云直播

    监控.无人机摄像头RTSP协议对接腾讯云直播 1. 需求与目标 传统监控高清摄像机ip camera(如: 海康,大华等)遵循监控行业标准,一般只支持rtsp传输协议,互联网直播通用标准为rtmp协议 ...

  5. python项目对接腾讯云发送短信

    python项目对接腾讯云发送短信 先安装需要的包 pip install tencentcloud-sdk-python # -*- coding: utf-8 -*- # pip install ...

  6. 小熊派 移植TencentOS-tiny+EC20+MQTT对接腾讯云

    1.参考文档 TencentOS tiny端云对接开发指南(IoTHub)以及Tencent tiny源码库 TencentOS-tiny官网 2.云端配置 登陆腾讯云,点击"云产品&quo ...

  7. TencentOS-tiny+ESP8266+mqttclient对接腾讯云平台IoThub

    1. 硬件准备 本文中我准备的腾讯官方EVB_MX_Plus开发板和ESP8266 WIFI通信模组: 2. 云端产品创建 在云端创建产品的过程和下文相同,不再赘述. 小熊派移植TencentOS-t ...

  8. ESP32上手笔记 | 04 -通过MQTT对接腾讯云IoT Explorer物联网平台(PubSubClient)

    一.WIFI库和ArduinoJson库 阅读文章:ESP32上手笔记 | 03 -通过HTTP获取天气信息(WiFi+HTTPClient+ArduinoJson). 二.PubSubClient库 ...

  9. 嵌入式设备开发专题《踩坑篇,ESP32对接腾讯云叮当语音识别ASR出现偶发性签名错误问题》

    腾讯云叮当语音识别ASR平台链接:https://dingdang.qq.com/doc.html?dir=/doc/tvs/cloud/api.html 对接腾讯云叮当语音识别ASR平台过程中,出现 ...

最新文章

  1. linux操作系统-设置静态ip
  2. 【60岁老人年审】老来网app养老保险年审的好伙伴【本地年审】【异地年审】【不参加年审无法领取养老保险金】...
  3. 【NServiceBus】什么是Saga,Saga能做什么
  4. C#中await/async闲说
  5. 循环自相关函数和谱相关密度(一)——公式推导
  6. 【安全风险通告】Apache ShardingSphere远程代码执行漏洞安全风险通告
  7. android 判断wifi强弱,Android:通过WifiManager监听Wifi信号强弱
  8. visio流程图怎么合并线_6步轻松做Visio跨职能流程图
  9. 有人还原出了历史上的皇帝,朱元璋居然还挺帅?
  10. 基于开源WordPress的高校数字图书馆应用构建
  11. Java中 ? extends T 和 ? super T 的理解
  12. NRF52832 SDK 15.2.0设置内部32768
  13. HTML与CSS的使用与总结
  14. 一文详解elasticsearch的索引生命周期管理—rollover+curator—ilm
  15. matlab s-function找不到
  16. 【Android】期末简答题
  17. 【洛谷P1516】青蛙的约会
  18. vue项目引入并使用svg格式图标文件
  19. 安发生物|醒醒吧!不吃晚饭=增肥!来听听钟南山院士的建议......
  20. windows下搭建hadoop 搭建本地hadoop开发环境

热门文章

  1. 微信红包接龙的数学分析
  2. android toast下载,Toast!
  3. HFSS学习笔记 4 平面螺旋结构创建
  4. 2020 中国软件 100 强,腾讯第二、阿里第三,第一竟然是他!
  5. MSDN Library for Visual Studio 2008 SP1 下载
  6. 小伙家乡搞养殖,从穷小子到资产上百万,带动了村民一起致富
  7. 【前端使用插件js-export-excel导出excel】
  8. python:基础知识—流程控制—函数与模块—数据结构—类与GUI和Turtle—异常处理与文件,概括全书(上万字最详细版)
  9. ntp协议客户端服务器模式,思科配置NTP客户端服务器模式
  10. 产品经理必修课(6):用户体验