转自: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是收信息的人
这样就可以发及时消息了,所以大家是没必要去读那么多代码的。有问题留言,我及时回复大家。