企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
## 1、下载官方的TLSSigAPIv2.php签名生成类 [下载地址](https://cloud.tencent.com/document/product/269/1630) ## 2、创建postcurl和随机字符串生成公共方法 ```php function randomsum($sum){ $z=""; for($i=0;$i<$sum/4;$i++){ $z .=rand(1000,9999); } return $z; } /** * curl post 模拟发送数据 * @param $cate * @return array */ function postCurls($url, $data){ $data = json_encode($data); $curl = curl_init(); curl_setopt($curl, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0); //HTTP浏览器访问版本 curl_setopt($curl, CURLOPT_HEADER, false); //头部信息 curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); //返回的内容作为变量储存 curl_setopt($curl, CURLOPT_URL, $url); //访问网址 curl_setopt($curl, CURLOPT_POST, true); //post请求 curl_setopt($curl, CURLOPT_POSTFIELDS, $data); //请求数据 curl_setopt($curl, CURLOPT_SSL_VERIFYPEER,false); //对认证证书来源的检查 curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); //从证书中检查SSL加密算法是否存在 $result = curl_exec($curl); //抓取URL并把它传递给浏览器 curl_close($curl); //关闭当前curl return $result; } ``` ## 3、建立用户管理类和群组管理类对接接口(可以写到一个类里面) 下面是直接进行接口的post提交 **3.1用户管理类** ```php <?php require_once "curl.php";//公共函数 require_once "TLSSigAPIv2.php";//签名生成 //$account = new User; // var_dump($account->genUserSig($id),0); // var_dump($account->account_import("2","1","1"),1); // var_dump($account->account_delete([ ["UserID"=>"1"] ]),2);die; // var_dump($account->account_check([ ["UserID"=>"1"] ]),3);die; // var_dump($account->querystate([1] ,1),4); class User{ private $sdkappid = ***; private $identifier = "***"; //自有帐号导入即时通信 public function account_import($Identifier,$Nick,$FaceUrl) { $url = "https://console.tim.qq.com/v4/im_open_login_svc/account_import?"; $url = $this->geturlparameter($url); $data = [ "Identifier" => $Identifier, "Nick" => $Nick, "FaceUrl" => $FaceUrl ]; // var_dump($data);die; $s = postCurls($url,$data); return $s; } //删除 public function account_delete($DeleteItem) { $url = "https://console.tim.qq.com/v4/im_open_login_svc/account_delete?"; $url = $this->geturlparameter($url); $data = [ "DeleteItem" => $DeleteItem ]; // echo( json_encode($data)); $s = postCurls($url,$data); return $s; } //查询帐号 public function account_check($CheckItem) { $url = "https://console.tim.qq.com/v4/im_open_login_svc/account_check?"; $url = $this->geturlparameter($url); $data = [ "CheckItem" => $CheckItem ]; // echo( json_encode($data)); $s = postCurls($url,$data); return $s; } //查询帐号在线状态 public function querystate($To_Account ,$IsNeedDetail) { $url = "https://console.tim.qq.com/v4/im_open_login_svc/account_check?"; $url = $this->geturlparameter($url); $data = [ "IsNeedDetail" => $IsNeedDetail, "To_Account" => $To_Account ]; // echo( json_encode($data)); $s = postCurls($url,$data); return $s; } //帐号生成的签名 public function genUserSig($id) { $TLSSigAPIv2 = new TLSSigAPIv2($this->sdkappid,false); // var_dump(1);die; $TLSSigAPIv2 = new TLSSigAPIv2($this->sdkappid,"b7009c4a7bc78740e5a472a443978d282805cf62d931db0bc89920d0d57a7c80"); return $TLSSigAPIv2->genUserSig($id); } //链接 public function geturlparameter($url) { $TLSSigAPIv2 = new TLSSigAPIv2($this->sdkappid,false); // var_dump(1);die; $TLSSigAPIv2 = new TLSSigAPIv2($this->sdkappid,"b7009c4a7bc78740e5a472a443978d282805cf62d931db0bc89920d0d57a7c80"); $zz = $url.http_build_query(array( "sdkappid" => $this->sdkappid, "identifier" => $this->identifier, "usersig" => $TLSSigAPIv2->genUserSig("administrator"), 'random' => randomsum(32), 'contenttype' => 'json' )); return $zz; } } ``` **3.2群组管理类** ```php <?php // namespace Tencent; require_once "curl.php";//公共函数 require_once "TLSSigAPIv2.php";//签名生成 // use Tencent\TLSSigAPIv2; //本接口用于将 App 自有帐号导入即时通信 IM 帐号系统,为该帐号创建一个对应的内部 ID,使该帐号能够使用即时通信 IM 服务。 //$Group = new Group; // // var_dump($Group->get_appid_group_list([]),1); // var_dump($Group->create_group("1","test" ),2); // var_dump($Group-> destroy_group("@TGS#2MQF3EZG4"),3); // $MemberList=[["Member_Account"=>"2"]]; // var_dump($Group->add_group_member("@TGS#2ORF3EZGA",$MemberList),4); //删除成员 // $MemberList=[["Member_Account"=>"2"]]; // var_dump($Group->add_group_member("@TGS#2ORF3EZGA",$MemberList),5); // var_dump($Group-> get_joined_group_list( "2"),6); // var_dump($Group-> get_group_info(["@TGS#2ORF3EZGA"]),7); // var_dump($Group-> get_role_in_group("@TGS#2ORF3EZGA",["2"]),8); // var_dump($Group-> modify_group_member_info("@TGS#2ORF3EZGA", "2" ,1),9); // var_dump($Group-> modify_group_member_info("@TGS#2ORF3EZGA", "2" ,2),9.2); // var_dump($Group-> modify_group_member_info("@TGS#2ORF3EZGA", "2" ,3),9.3); // var_dump($Group-> get_online_member_num("@TGS#2ORF3EZGA" ),10); // var_dump($Group-> get_group_member_info("@TGS#2ORF3EZGA" ),11); class Group { private $sdkappid = ***; private $identifier = "****"; //创建群 public function create_group($Owner_Account,$GroupName,$Introduction="",$Notification="",$FaceUrl="") { $url = "https://console.tim.qq.com/v4/group_open_http_svc/create_group?"; $url = $this->geturlparameter($url); $data=[ "Owner_Account"=> $Owner_Account, "Type"=> "AVChatRoom", "Name"=> $GroupName, ]; // "Owner_Account"=> $Owner_Account, // 群主的 UserId(选填) // "Type"=> "Public", // 群组类型:Private/Public/ChatRoom/AVChatRoom // "Name"=> $TestGroup, // 群名称(必填) // "Introduction"=> $Introduction, // 群简介(选填) // "Notification"=> $Notification, // 群公告(选填) // "FaceUrl"=>$FaceUrl, // 群头像 URL(选填) // "MaxMemberCount"=> 500, // 最大群成员数量(选填) // "ApplyJoinOption"=> "FreeAccess" // 申请加群处理方式(选填) $s = postCurls($url,$data); return $s; } // 解散群成员 public function destroy_group($GroupId) { $url = "https://console.tim.qq.com/v4/group_open_http_svc/destroy_group?"; $url = $this->geturlparameter($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" // 申请加群处理方式(选填) $s = postCurls($url,$data); return $s; } //增加群成员 public function add_group_member($GroupId,$MemberList) { $url = "https://console.tim.qq.com/v4/group_open_http_svc/add_group_member?"; $url = $this->geturlparameter($url); $data=[ "GroupId"=> $GroupId, "MemberList"=> $MemberList, ]; $s = postCurls($url,$data); return $s; } //删除群成员 public function delete_group_member($GroupId,$MemberList) { $url = "https://console.tim.qq.com/v4/group_open_http_svc/delete_group_member?"; $url = $this->geturlparameter($url); $data=[ "GroupId"=> $GroupId, "MemberToDel_Account"=> $MemberList, ]; $s = postCurls($url,$data); return $s; } //获取用户所加入的群组 public function get_joined_group_list( $MemberList) { $url = "https://console.tim.qq.com/v4/group_open_http_svc/get_joined_group_list?"; $url = $this->geturlparameter($url); $data=[ "Member_Account"=> $MemberList, ]; $s = postCurls($url,$data); return $s; } //获取 群组详细信息 public function get_group_info( $GroupIdList) { $url = "https://console.tim.qq.com/v4/group_open_http_svc/get_group_info?"; $url = $this->geturlparameter($url); $data=[ "GroupIdList"=> $GroupIdList, ]; $s = postCurls($url,$data); return $s; } //查询用户在群组中的身份 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->geturlparameter($url); $data=[ "GroupId"=> $GroupId, "User_Account"=> $MemberList, ]; $s = postCurls($url,$data); return $s; } // 修改用户信息 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->geturlparameter($url); // var_dump($data);die; $s = postCurls($url,$data); return $s; } //获取直播群在线人数 public function get_online_member_num($GroupId) { // 设置管理元 $data=[ "GroupId"=>$GroupId, // 要操作的群组(必填) ]; $url = "https://console.tim.qq.com/v4/group_open_http_svc/get_online_member_num?"; $url = $this->geturlparameter($url); // var_dump($data);die; $s = postCurls($url,$data); return $s; } //获取群成员详细资料 public function get_group_member_info($GroupId) { // 设置管理元 $data=[ "GroupId"=>$GroupId, // 要操作的群组(必填) ]; $url = "https://console.tim.qq.com/v4/group_open_http_svc/get_group_member_info?"; $url = $this->geturlparameter($url); // var_dump($data);die; $s = postCurls($url,$data); return $s; } // 获取 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->geturlparameter($url); $data=[ "Limit"=> 1000, "Next"=> 0, "GroupType" => $GroupType // 拉取哪种群组形态,不填为拉取所有 ]; $s = postCurls($url,$data); return $s; } //链接 public function geturlparameter($url) { $TLSSigAPIv2 = new TLSSigAPIv2($this->sdkappid,false); // var_dump(1);die; $TLSSigAPIv2 = new TLSSigAPIv2($this->sdkappid,"b7009c4a7bc78740e5a472a443978d282805cf62d931db0bc89920d0d57a7c80"); $zz = $url.http_build_query(array( "sdkappid" => $this->sdkappid, "identifier" => $this->identifier, "usersig" => $TLSSigAPIv2->genUserSig("administrator"), 'random' => randomsum(32), 'contenttype' => 'json' )); return $zz; } } ```