PHP实现RTX发送消息提醒的实例代码


Posted in PHP onJanuary 03, 2017

RTX是腾讯公司推出的企业级即时通信平台,大多数公司都在使用它,但是我们很多时候需要将自己系统或者产品的一些通知实时推送给RTX,这就需要用到RTX的服务端SDK,建议先去看看RTX的SDK开发文档(客户端,服务器),我们先看看功能效果:

PHP实现RTX发送消息提醒的实例代码 PHP实现RTX发送消息提醒的实例代码 PHP实现RTX发送消息提醒的实例代码                

当然,现在很多公司都已经在RTX的基础上升级成了企业微信,没关系,这个API同样可以使用,还是同样的接口,只是展示效果不一样而已:

PHP实现RTX发送消息提醒的实例代码

下面是用PHP实现RTX发送消息提醒:

1、首先在服务器端安装RTX的服务端和客户端,再安装SDK开发包(对于发送消息提醒的功能,只需要安装服务端sdk即可)(下载地址:http://rtx.tencent.com/rtx/download/index.shtml)

PHP实现RTX发送消息提醒的实例代码

2、然后再RTX服务器的安装路径下有个WebRoot文件夹,文件夹下有个SendNotify.cgi文件,这就是RTX发送消息的接口文件,打开文件是懂PHP的都能看懂的代码,不过需要在头部加入header头,以及需要处理一些参数的编码

header("Content-Type:text/html;charset=GBK");

 $msg = iconv("utf-", "GBK", $msg);
 $title = iconv("utf-", "GBK", $title);

如果你的所有安装都是在本地的,那么只需要访问(默认端口8012)即可:

 http://127.0.0.1:8012/SendNotify.cgi?msg=消息内容&receiver=RTX的账号(多个用逗号格开)&title=通知的标题

以下是修改后的SendNotify.cgi代码:

<?php
 /**
 * Created by PhpStorm.
 * User: Steven
 * Date: //
 * Time: :
 */
 
 header("Content-Type:text/html;charset=GBK");
 require_once "IPLimit.php";
 
 $receiver = $_GET["receiver"];
 $msg = $_GET["msg"];
 $title = $_GET["title"];
 
 
 $delaytime = $_GET["delaytime"];
 $okurl = $_GET["okurl"];
 $errurl = $_GET["errurl"];
 
 if ((strlen($receiver) == )
  && (strlen($msg) == )
  && (strlen($title) == )
  && (strlen($delaytime) == )
  && (strlen($okurl) == )
  && (strlen($errurl) == )
 ) {
  $receiver = $_POST["receiver"];
  $msg = $_POST["msg"];
  $title = $_POST["title"];
  $delaytime = $_POST["delaytime"];
  $okurl = $_POST["okurl"];
  $errurl = $_POST["errurl"];
 }
 
 if (strlen($receiver) == ) {
  $receiver = "";
 }
 if (strlen($msg) == ) {
  $msg = "";
 }
 if (strlen($title) == ) {
  $title = "";
 }
 if (strlen($delaytime) == ) {
  $delaytime = ;
 }
 if (strlen($okurl) == ) {
  $okurl = "";
 }
 if (strlen($errurl) == ) {
  $errurl = "";
 }
 
 $msg = iconv("utf-", "GBK", $msg);
 $title = iconv("utf-", "GBK", $title);
 $php_errormsg = NULL;
 
 $ObjApi = new COM("Rtxserver.rtxobj");
 $objProp = new COM("Rtxserver.collection");
 $Name = "ExtTools";
 $ObjApi->Name = $Name;
 
 $objProp->Add("msgInfo", $msg);
 $objProp->Add("MsgID", "");
 $objProp->Add("Type", "");
 $objProp->Add("AssType", "");
 if (strlen($title) == ) {
  $objProp->Add("Title", "֪ͨ");
 } else {
  $objProp->Add("Title", $title);
 }
 $objProp->Add("DelayTime", $delaytime);
 if (strtolower($receiver) == "all") {
  $objProp->Add("Username", $receiver);
  $objProp->Add("SendMode", "");
 } else {
  $objProp->Add("Username", $receiver);
 }
 
 
 $Result = @$ObjApi->Call(x, $objProp);
 
 $errstr = $php_errormsg;
 if (strcmp($nullstr, $errstr) == ) {
  if (strlen($okurl) > ) {
   header("Location: " . $okurl);
  } else {
   // echo "<script language=\"JavaScript\">\r\n";
   // echo "alert(\"success\")";
   //echo "</script>\r\n";
   return true;
 
  }
 } else {
  //send err
  if (strlen($errurl) > ) {
   header("Location: " . $errurl);
  } else {
   echo $errstr . "<br>";
 
  }
 }
 ?>

3、需要注意的是代码中引入了IPLimit.php文件,所以,访问的时候可能会提示IP受限,这就需要在RTX服务端安装文件下找到一个叫SDKProperty.xml的文件,加入你发送请求的服务器IP保存即可

<?xml version="."?>
 <Property>
 <APIClient>
  <IPLimit Enabled="">
   <IP>...</IP>
     <IP>这里是IP地址</IP>
  </IPLimit>
 
 </APIClient>
 <sdkhttp>
  <IPLimit Enabled="">
  </IPLimit>
 </sdkhttp>
 </Property>

4、开发者只需要封装一个发送GET或者POST的方法,例如:

$arr = array(
    'title' => $title, //消息的标题
    'receiver' => $receiver_list, //消息的接受者
    'msg' => $msg,//消息内容
   );
   $this->httpsPost('http://...:/SendNotify.cgi', $arr);

即可向RTX发送消息通知,以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
深入了解 register_globals (附register_globals=off 网站打不开的解决方法)
Jun 27 PHP
php调用方法mssql_fetch_row、mssql_fetch_array、mssql_fetch_assoc和mssql_fetch_objcect读取数据的区别
Aug 08 PHP
PHP实现下载功能的代码
Sep 29 PHP
基于PHP CURL用法的深入分析
Jun 09 PHP
php查看请求头信息获取远程图片大小的方法分享
Dec 25 PHP
PHP中substr()与explode()函数用法分析
Nov 24 PHP
Yii的CDbCriteria查询条件用法实例
Dec 04 PHP
PHP检测用户是否关闭浏览器的方法
Feb 14 PHP
php模拟post上传图片实现代码
Jun 24 PHP
PHP实现的统计数据功能详解
Dec 06 PHP
TP3.2批量上传文件或图片 同名冲突问题的解决方法
Aug 01 PHP
laravel邮件发送的实现代码示例
Jan 31 PHP
php cookie用户登录的详解及实例代码
Jan 03 #PHP
详解PHP安装mysql.so扩展的方法
Dec 31 #PHP
php 从一个数组中随机的取出若干个不同的数实例
Dec 31 #PHP
PHP文件操作详解
Dec 30 #PHP
PHP实现二维数组根据key进行排序的方法
Dec 30 #PHP
CI框架实现框架前后端分离的方法详解
Dec 30 #PHP
php mysql实现mysql_select_db选择数据库
Dec 30 #PHP
You might like
PHP新手用的Insert和Update语句构造类
2012/03/31 PHP
使用php get_headers 判断URL是否有效的解决办法
2013/04/27 PHP
PHP静态调用非静态方法的应用分析
2013/05/02 PHP
Yii2框架中一些折磨人的坑
2019/12/15 PHP
Javascript的并行运算实现代码
2010/11/19 Javascript
自动刷新网页,自动刷新当前页面,JS调用
2013/06/24 Javascript
js中的this关键字详解
2013/09/25 Javascript
JavaScript极简入门教程(二):对象和函数
2014/10/25 Javascript
Javascript设计模式之观察者模式(推荐)
2016/03/29 Javascript
在AngularJS中使用jQuery的zTree插件的方法
2016/04/21 Javascript
jquery validation验证表单插件
2017/01/07 Javascript
原生JS实现日历组件的示例代码
2017/09/22 Javascript
js通过Date对象实现倒计时动画效果
2017/10/27 Javascript
jQuery实现表单动态加减、ajax表单提交功能
2018/06/08 jQuery
小试SVG之新手小白入门教程
2019/01/08 Javascript
微信小程序 冒泡事件原理解析
2019/09/27 Javascript
vue+elementui 对话框取消 表单验证重置示例
2019/10/29 Javascript
jQuery 移除事件的方法
2020/06/20 jQuery
[01:38:19]夜魇凡尔赛茶话会 第五期
2021/03/11 DOTA
简单讲解Python中的字符串与字符串的输入输出
2016/03/13 Python
浅析Python中MySQLdb的事务处理功能
2016/09/21 Python
python 中if else 语句的作用及示例代码
2018/03/05 Python
Python中的Django基本命令实例详解
2018/07/15 Python
详解Python 装饰器执行顺序迷思
2018/08/08 Python
Python jieba库用法及实例解析
2019/11/04 Python
Python3.9新特性详解
2020/10/10 Python
Keds官方网站:购买帆布运动鞋和经典皮鞋
2016/11/12 全球购物
英国拖鞋购买网站:Bedroom Athletics
2020/02/28 全球购物
2014年基层党组织公开承诺书
2014/03/29 职场文书
法院信息化建设方案
2014/05/21 职场文书
领导班子四风表现材料
2014/08/23 职场文书
领导个人查摆剖析材料
2014/10/29 职场文书
个人先进材料范文
2014/12/30 职场文书
恰同学少年观后感
2015/06/08 职场文书
幼儿园心得体会范文
2016/01/21 职场文书
《成长的天空》读后感3篇
2019/12/06 职场文书