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也可以?成Shell Script
Oct 09 PHP
php遍历目录viewDir函数
Dec 15 PHP
PHP通过正则表达式下载图片到本地的实现代码
Sep 19 PHP
支持中文字母数字、自定义字体php验证码代码
Feb 27 PHP
PHP使用header()输出图片缓存实例
Dec 09 PHP
php实现的数字验证码及数字运算验证码
Jul 30 PHP
提高php编程效率技巧
Aug 13 PHP
微信公众号开发之语音消息识别php代码
Aug 08 PHP
PHP输出XML格式数据的方法总结
Feb 08 PHP
PHP实现权限管理功能示例
Sep 22 PHP
win7 wamp 64位 php环境开启curl服务遇到的问题及解决方法
Sep 16 PHP
laravel 实现划分admin和home 模块分组
Oct 15 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获取url的函数代码
2011/08/02 PHP
php如何调用webservice应用介绍
2012/11/24 PHP
php实现的任意进制互转类分享
2015/07/07 PHP
PHP Static延迟静态绑定用法分析
2016/03/16 PHP
PHP读取文件的常见几种方法
2016/11/03 PHP
常用简易JavaScript函数
2009/04/09 Javascript
jQuery DIV弹出效果实现代码
2009/07/03 Javascript
asp.net下利用js实现返回上一页的实现方法小集
2009/11/24 Javascript
Javascript中Event属性搜集整理
2013/09/17 Javascript
基于dropdown.js实现的两款美观大气的二级导航菜单
2015/09/02 Javascript
浏览器兼容性问题大汇总
2015/12/17 Javascript
vue.js入门(3)——详解组件通信
2016/12/02 Javascript
jQuery延迟执行的实现方法
2016/12/21 Javascript
浅谈Webpack打包优化技巧
2018/06/12 Javascript
JavaScript的Object.defineProperty详解
2018/07/09 Javascript
Node.js 在本地生成日志文件的方法
2020/02/07 Javascript
原生js+canvas实现下雪效果
2020/08/02 Javascript
Vue.extend 登录注册模态框的实现
2020/12/29 Vue.js
对Python中type打开文件的方式介绍
2018/04/28 Python
Django框架model模型对象验证实现方法分析
2019/10/02 Python
python3常用的数据清洗方法(小结)
2019/10/31 Python
Python中的引用和拷贝实例解析
2019/11/14 Python
python中必要的名词解释
2019/11/20 Python
pandas-resample按时间聚合实例
2019/12/27 Python
python 如何使用find和find_all爬虫、找文本的实现
2020/10/16 Python
Anaconda的安装与虚拟环境建立
2020/11/18 Python
python爬虫用request库处理cookie的实例讲解
2021/02/20 Python
HTML5在canvas中绘制复杂形状附效果截图
2014/06/23 HTML / CSS
html5唤起app的方法
2017/11/30 HTML / CSS
美国领先的户外服装与装备用品店:Moosejaw
2016/08/25 全球购物
英国票务网站:Ticketmaster英国
2018/08/27 全球购物
自主招生自荐信
2013/12/08 职场文书
庆国庆活动总结
2014/08/28 职场文书
办公室日常管理制度
2015/08/04 职场文书
纯CSS如何禁止用户复制网页的内容
2021/11/01 HTML / CSS
MySQL中order by的执行过程
2022/06/05 MySQL