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 相关文章推荐
php利用cookie实现访问次数统计代码
May 19 PHP
PHP中运用jQuery的Ajax跨域调用实现代码
Feb 21 PHP
编写安全 PHP应用程序的七个习惯深入分析
Jun 08 PHP
PHP连接Access数据库的方法小结
Jun 20 PHP
使用PHP进行微信公众平台开发的示例
Aug 21 PHP
微信支付PHP SDK之微信公众号支付代码详解
Dec 09 PHP
CI框架扩展系统核心类的方法分析
May 23 PHP
PHP-CGI远程代码执行漏洞分析与防范
May 07 PHP
PHP实现微信模拟登陆并给用户发送消息的方法【文字,图片,图文】
Jun 29 PHP
php 删除指定文件夹的实例讲解
Jul 25 PHP
PHP实现正则匹配所有括号中的内容
Jun 22 PHP
PHP实现打包zip并下载功能
Jun 12 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的加密方式及原理
2012/06/14 PHP
PHP 使用二进制保存用户状态的实例
2018/01/29 PHP
PHP后期静态绑定实例浅析
2018/12/21 PHP
Laravel使用原生sql语句并调用的方法
2019/10/09 PHP
js之WEB开发调试利器:Firebug 下载
2007/01/13 Javascript
jquery 使用点滴函数代码
2011/05/20 Javascript
JS实现的用来对比两个用指定分隔符分割的字符串是否相同
2014/09/19 Javascript
js实现类似于add(1)(2)(3)调用方式的方法
2015/03/04 Javascript
详解AngularJS中module模块的导入导出
2015/12/10 Javascript
JavaScript基本语法学习教程
2016/01/14 Javascript
快速使用Bootstrap搭建传送带
2016/05/06 Javascript
Vuejs第十二篇之动态组件全面解析
2016/09/09 Javascript
jQuery实现弹幕效果
2017/02/17 Javascript
jQuery实现jQuery-form.js实现异步上传文件
2017/04/28 jQuery
通过jquery.cookie.js实现记住用户名、密码登录功能
2018/06/20 jQuery
ElementUI radio组件选中小改造
2019/08/12 Javascript
vue项目中监听手机物理返回键的实现
2020/01/18 Javascript
编写同时兼容Python2.x与Python3.x版本的代码的几个示例
2015/03/30 Python
详细讲解用Python发送SMTP邮件的教程
2015/04/29 Python
Python随机生成手机号、数字的方法详解
2017/07/21 Python
利用python解决mysql视图导入导出依赖的问题
2017/12/17 Python
Python使用requests及BeautifulSoup构建爬虫实例代码
2018/01/24 Python
pip install urllib2不能安装的解决方法
2018/06/12 Python
python3实现爬取淘宝美食代码分享
2018/09/23 Python
python使用wxpy轻松实现微信防撤回的方法
2019/02/21 Python
浅谈JupyterNotebook导出pdf解决中文的问题
2020/04/22 Python
python实现文字版扫雷
2020/04/24 Python
HTML5的download属性详细介绍和使用实例
2014/04/23 HTML / CSS
eBay法国购物网站:eBay.fr
2017/10/21 全球购物
Expedia意大利旅游网站:酒店、机票和租车预订
2017/10/30 全球购物
澳大利亚领先的折扣药房:Chemist Direct(有中文站)
2018/11/24 全球购物
英国最大的独立玩具专卖店:The Entertainer
2019/09/06 全球购物
大学毕业生通用自荐信范文
2013/10/31 职场文书
小学生个人先进事迹材料
2014/05/08 职场文书
运动会广播稿100字
2014/09/14 职场文书
python ConfigParser库的使用及遇到的坑
2022/02/12 Python