asp.net (C#) RTX(腾讯通) 接口应用 能实现与OA接口

本文介绍了如何使用ASP.NET C#开发中,通过RTX(腾讯通)的接口实现与企业OA系统的集成,包括关键的字符串处理和异常处理技巧。

asp.net (C#) RTX(腾讯通) 接口应用 能实现与OA接口

在此结贴,把我写的几个函数贴出来,供有需要的朋友查阅.
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是收信息的人

这样就可以发及时消息了,所以大家是没必要去读那么多代码的。有问题留言,我及时回复大家。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值