1. 程式人生 > >騰訊通二次開發接口

騰訊通二次開發接口

註意事項 spa 通知 str 公網 XML inf led delay

騰訊通服務器端裝上RTXServerSDK,可以通過幾種方式訪問:

一、消息發送方法:
功能一:發送即時消息
1.調用方式:GET/POST URL:/sendnotify.cgi 用法舉例(IE地址欄中輸入): http://127.0.0.1:8012/sendnotify.cgi?msg=hello&receiver=wwjs
參數表:
receiver:接收者,用戶昵稱,多個接收者以“,”隔開。
msg:消息內容 ,如需要發隱式鏈接,格式如: [我的博客|http://www.baidu.com]
title:消息提醒的標題。
delaytime:消息提醒框的停留時間(毫秒),0表示不自動消失。
okurl:成功後IE自動定位到指定的url 格式類似為:okurl=www.baidu.com或者okurl=http://www.baidu.com 註意:這裏的url必須為絕對地址
errurl:失敗後IE自動定位到指定的url。

功能二:獲取用戶狀態
1.調用方式:http://127.0.0.1:8012/getstatus.php?username=yangbin
2.參數說明:username 需要獲取哪個用戶的狀態

功能三:給某個組群發RTX廣播消息
1.調用方式:http://127.0.0.1:8012/sendnotifybydepart.php?receiverdepart=運維開發組&msg=吃飯了&title=通知&online=1&delaytime=10000
2.參數說明:receiverdepart 需要給那個部門發送消息,該部門即在RTX中看到的組織架構中的部門名
msg:消息內容 ,如需要發隱式鏈接,格式如: [明朝|http://www.baidu.com]
title:消息提醒的標題。 【可省略】
online:是否只發在線用戶,默認只發給在線用戶。 【可省略】
delaytime:消息提醒框的停留時間(毫秒),0表示不自動消失,默認為0。 【可省略】
okurl:成功後IE自動定位到指定的url 格式類似為:okurl=rtx.tencent.com 或者okurl=http://tx.tencent.com 註意:這裏的url必須為絕對地址。 【可省略】
errurl:失敗後IE自動定位到指定的url。【可省略】

功能四:給某個群群發RTX廣播消息
1.調用方式:http://127.0.0.1:8012/sendnotifybygroup.php?receivergroup=M4開發群&msg=吃飯了&title=通知&online=1&delaytime=10000
2.參數說明: receivergroup 需要給那個群發送廣播消息,即RTX群
msg:消息內容 ,如需要發隱式鏈接,格式如: [明朝|http://www.baidu.com]
title:消息提醒的標題。 【可省略】
online:是否只發在線用戶,默認只發給在線用戶。 【可省略】
delaytime:消息提醒框的停留時間(毫秒),0表示不自動消失,默認為0。 【可省略】
okurl:成功後IE自動定位到指定的url 格式類似為:okurl=rtx.tencent.com 或者okurl=http://tx.tencent.com 註意:這裏的url必須為絕對地址。 【可省略】
errurl:失敗後IE自動定位到指定的url。【可省略】

二、註意事項

1.參數msg中如果包含中文那麽需要將msg的編碼方式轉換成GBK或者GB2312,msg是不支持UTF-8編碼方式的。
2.參數msg如需要加入超鏈接格式為:[點我跳轉|http://www.baidu.com]
3.參數msg中不能出現空格,如果需要空格可用【+】替代。
4.如果請求的url中包含特殊字符,那麽需要使用urlencode(),來對url進行編碼,否則可能導致超鏈接顯示不正常。
5.發送消息是需要權限的,這個需要在RTX服務端配置才能發送消息。

三、問題建議
1.對msg進行轉碼的時候用GBK不要用GB2312,因為GB2312支持的漢字比較少,很多比較偏的漢字會無法顯示,導致消息被中斷(即用戶只能收到這個中斷前的字符)。
2.在對消息進行轉碼的時候,可以考慮加入參數IGNORE,即$msg=iconv(“utf-8″,”gb2312//IGNORE”,$msg)這樣在轉碼的時候將會忽略錯誤字符。會將錯誤字符後面的繼續轉碼。
3.在RTXServer服務端的WebRoot目錄下放著很多的cgi和php文件。這些文件都是可以用HTTP方式來訪問的,你也可以自己編寫新的cgi或者php文件,然後將其放到改目錄下即可。這樣將可能提供非常強大的擴展功能。
4.解決中文發送問題:
SendNotify.cgi(C:\Program Files\Tencent\RTXServer\WebRoot\SendNotify.cgi)加上以下語句:
$msg = iconv("utf-8","gbk", $msg);
$title = iconv("utf-8","gbk", $title);
$receiver = iconv("utf-8","gbk", $receiver);
5.解決IP受限問題:
SDKProperty.xml(C:\Program Files\Tencent\RTXServer\SDKProperty.xml)
如果需要在其它計算機上使用SDK包,必須將這臺計算機的IP192.168.17.1地址也加入,如下代碼,在<APIClient>段。
<APIClient>
<IPLimit Enabled="1">
  <IP>127.0.0.1</IP>
  <IP>192.168.17.1</IP>
</IPLimit>
</APIClient>
如果添加遠程訪問機器的IP地址,如下代碼,允許192.168.17.2通過http方式訪問cgi文件。
<sdkhttp>
<IPLimit Enabled="1">
  <IP>192.168.17.1.2</IP>
</IPLimit>
</sdkhttp>


四、RTX服務器遷移或者RTX服務器系統重裝註意事項
1、RTX服務器遷移或者RTX服務器系統重裝前,需註意備份如下數據:
(1)、在RTX管理器–“用戶管理”–“用戶數據導入導出”,選擇導出按鈕將RTX的用戶數據導出,格式為xml。
(2)、備份用戶群數據和用戶照片,分別保存在db\disgroup_db.mdb和files\infoserver\userphotofiles。一般情況下,用戶數據導入導出功能導出的xml格式用戶數據在導入到RTX以後,用戶群數據和角色數據都會自動導入的,此步備份的目的是當導入用戶數據失敗時,可以將這兩個數據復制到相應位置用於還原。建議將db\和config\下的所有文件備份;
(3)、如果後臺數據庫為SQL,通過SQL管理器備份用戶數據庫,如果沒有第三方應用,RTX後臺數據庫建議直接使用默認的ACCESS。

2、RTX服務器安裝完成後,需註意以下幾點:
(1)、先導入授權文件,保證所有服務都已經正常啟動再做余下的操作;
(2)、導入xml格式用戶數據時,註意要先選擇“RTX2005及以後版本數據導入”;
(3)、如果部署環境是內網的RTX服務器發布到公網,需在“配置向導”–“服務運行狀態”–“高級配置”–“客戶端登錄服務器的地址”增加公網IP地址,否則公網用戶可能無法發送圖片和文件;
(4)、停止服務器“服務運行狀態”中所有服務,使用記事本打開服務器安裝目錄*:\Program Files\Tencent\RTXServer\config\rtxserver.xml ,把相應端口的IP地址全部改為127.0.0.1(8009端口的例外),保存文件後再重新啟動所有服務;
(5)、遇到公網用戶無法自動升級的情況,需先在RTX管理器中停止所有服務,然後打開安裝目錄中config下的rtxserver.xml,找到8009端口對應的IP,將IP改為公網IP,RTX管理器的“服務運行狀態”urgradesvr自動升級服務器配置也做相同的更改,最後啟動所有服務。更改後公網用戶可以自動升級,但內網用戶就無法自動升級了,需要根據實際應用情況權衡。

騰訊通二次開發接口