轉自:http://hi.baidu.com/fqlapnrwngclote/item/31e1a1529cace4c19f266766
asp.net (C#) RTX(騰訊通) 接口應用 能實現與OA接口
由於需要下載,所以有需要的朋友,請留Email地址。
在此結貼,把我寫的幾個函數貼出來,供有需要的朋友查閱.
public bool RTXSendIM(string Sender,string pwd,string RECVUsers,string IMMsg) //發送及時消息
{
#region
//作用:發送及時消息
//參數說明:
//Sender:發送者
//pwd:發送者密碼
//RECVUsers:接收者,多個中間用,間隔
//IMMsg:發送的消息內容
try
{
RTXObjectClass RTXObj = new RTXObjectClass();
RTXCollectionClass RTXParams = new RTXCollectionClass();
RTXObj.Name = "SYSTOOLS";
RTXParams.Add("SENDER", Sender);
RTXParams.Add("RECVUSERS", RECVUsers);
RTXParams.Add("IMMsg", IMMsg);
//string pass=Page.Session["UserPwd"].ToString();
//string pass="123";
RTXParams.Add ("SDKPASSWORD",pwd);
Object iStatus = new Object();
//iStatus =RTXobj.Call2( &H2002, RTXParams);
iStatus = RTXObj.Call2(enumCommand_.PRO_SYS_SENDIM, RTXParams);
string result=iStatus.ToString();
return true;
}
catch(Exception E)
{
error = E.Message;
return false;
}
#endregion
}
public bool RTXSendIMts(string Sender,string pwd,string RECVUsers,string IMMsg)//廣播方式發送消息
{
#region
//作用:廣播方式發送消息
//參數說明:
//Sender:發送者
//pwd:發送者密碼
//RECVUsers:接收者,多個中間用,間隔
//IMMsg:發送的消息內容
try
{
RTXObjectClass RTXObj = new RTXObjectClass();
RTXCollectionClass RTXParams = new RTXCollectionClass();
RTXObj.Name = "EXTTOOLS";
RTXParams.Add("USERNAME", RECVUsers);
RTXParams.Add("SDKPASSWORD", pwd);
RTXParams.Add("MSGINFO", IMMsg);
Object iStatus = new Object();
iStatus = RTXObj.Call2(RTXServerApi.enumCommand_.PRO_EXT_NOTIFY, RTXParams);
return true;
}
catch(Exception E)
{
error = E.Message;
return false;
}
#endregion
}
public bool RTXADDDEPT(int Pdeptid,string Deptid,string name,string info)//添加部門
{
//作用:添加部門
//參數說明:Pdeptid:所屬部門()上級部門的ID
//deptid:增加的該部門的ID
//name:該增加部門的名稱
//info:該增加部門的相關信息
#region
try
{
RTXObjectClass RTXObj = new RTXObjectClass();
RTXCollectionClass RTXParams = new RTXCollectionClass();
RTXObj.Name = "USERMANAGER";
RTXParams.Add("PDEPTID", Pdeptid);
RTXParams.Add("DEPTID", Deptid);
RTXParams.Add("NAME", name);
RTXParams.Add("INFO", info);
Object iStatus = new Object();
iStatus = RTXObj.Call2(RTXServerApi.enumCommand_.PRO_ADDDEPT, RTXParams);
return true;
}
catch(Exception E)
{
error = E.Message;
return false;
}
#endregion
}
public bool RTXDelDEPT(string dpmtid,string delall)//刪除部門
{
#region
//作用:刪除部門
//參數說明:
//dpmtid:要刪除部門的ID號
//delall:刪除部門的下屬部門的選擇(0為不刪除,為刪除)
try
{
RTXObjectClass RTXObj = new RTXObjectClass();
RTXCollectionClass RTXParams = new RTXCollectionClass();
RTXObj.Name = "USERMANAGER";
RTXParams.Add("DEPTID", dpmtid);
RTXParams.Add ("COMPLETEDELBS",delall);
Object iStatus = new Object();
iStatus = RTXObj.Call2(RTXServerApi.enumCommand_.PRO_DELDEPT, RTXParams);
return true;
}
catch(Exception E)
{
error = E.Message;
return false;
}
#endregion
}
public bool RTXADDUSER( string Dpmid,string Nick,string pwd,string name ,string rtxnumber,string mobile)//添加用戶
{
#region
//作用:添加用戶
//參數說明:
//Dpmid:用戶所屬於的ID號
//Nick:用戶的登陸名
//pwd:用戶的登陸密碼
//name:用戶名
//rtxnumber:用戶的RTX號碼
//mobile:用戶的手機號碼
try
{
RTXObjectClass RTXObj = new RTXObjectClass();
RTXCollectionClass RTXParams = new RTXCollectionClass();
RTXObj.Name = "USERMANAGER";
RTXParams.Add("DEPTID", Dpmid);
RTXParams.Add("NICK", Nick);
RTXParams.Add("PWD", pwd);
RTXParams.Add("NAME", name);
RTXParams.Add("UIN", rtxnumber);
RTXParams.Add("MOBILE", mobile);
Object iStatus = new Object();
iStatus = RTXObj.Call2(RTXServerApi.enumCommand_.PRO_ADDUSER, RTXParams);
return true;
}
catch(Exception E)
{
error = E.Message;
return false;
}
//幫助來自http://www.joozone.com/
#endregion
}
public bool RTXDelUSR(string unick)//刪除用戶
{
#region
//作用:刪除用戶
//參數說明:unick:用戶的登陸名或用戶的RTX號碼都可
try
{
RTXObjectClass RTXObj = new RTXObjectClass();
RTXCollectionClass RTXParams = new RTXCollectionClass();
RTXObj.Name = "USERMANAGER";
RTXParams.Add("USERNAME", unick);
Object iStatus = new Object();
iStatus = RTXObj.Call2(RTXServerApi.enumCommand_.PRO_DELUSER, RTXParams);
return true;
}
catch(Exception E)
{
error = E.Message;;
return false;
}
#endregion
}
附加:
由於不少網友留言需要代碼,不過大家應該提出來是需要發消息的接口呢還是同步部門與人員的接口呢。同步部門與人員的這個代碼比較多,而發消息的接口我給大家放出來,很簡單,就幾行代碼搞定:
需要引用的dll
using RTXCAPILib;
using RTXCMODULEINTERFACELib;
using RTXSAPILib;
//值得注意的是,在rtx2009里是引用“RTXSAPILib”。
//---------------------------begin-------------------------------//
RootObj = new RTXSAPIRootObj();
RootObj.ServerIP = "10.10.16.3";
RootObj.ServerPort = 8006;
string sessionId = "{45E974F3-B242-486b-8487-56C23D37FF51}";
//上面這個是必須的,沒有他你接受到的消息打開是看不到的。
// RootObj.ServerIP = "10.10.8.54";//設置服務器IP
// RootObj.ServerPort = "8006";//設置服務器端口
RootObj.SendNotify("bingli","asd",0,"asdfasdfasdfasdfasdf<href = '#' >asd</a></br> \n </br> "+DateTime.Now.ToString());
//這是發送及時提醒,並非消息,應該算是彈出通知
RootObj.SendIM("cs","cs","bingli","1d11111112121as \n ld2121212fas",sessionId);
//發送即時消息給對應的人員
cs用戶名;cs用戶密碼,bingli是收信息的人
這樣就可以發及時消息了,所以大家是沒必要去讀那么多代碼的。有問題留言,我及時回復大家。