webapi登录接口原创
金蝶云社区-eris
eris
15人赞赏了该文章 9695次浏览 未经作者许可,禁止转载编辑于2020年11月02日 09:54:34

一、功能:

1. 创建连接会话,会话默认保持20分钟,为调用其他接口准备上下文环境


二、服务地址:serverIP为服务器地址

http://serverIP/K3Cloud/Kingdee.BOS.WebApi.ServicesStub.AuthService.ValidateUser.common.kdsvc


三、参数:

acctID:账套Id

username:用户登陆名

password:密码

lcid:语言id,中文2052,英文1033,繁体3076


四、返回结果:

JSON字符串,其中返回类型LoginResultType的值分别为, -7:激活, -6,:云通行证未绑定Cloud账号,      

  -5 :需要表单处理,  -4:登录警告,-3:密码错误,-2:登录失败,0:用户或密码错误,1:登录成功 

  

五、示例代码:

1. 使用平台封装客户端

K3CloudApiClient client = new K3CloudApiClient("serverIP";); 

var loginResult = client.ValidateLogin("5f191f0ff4b034","Administrator","888888",2052);

var resultType = JObject.Parse(loginResult)["LoginResultType"].Value<int>();

if(resultType==1)//登录成功

2.自定义客户端,自定义客户端参考帖子附件中

 K3CloudInterface customClient = new K3CloudInterface(serverUrl);

 object[] loginInfo = new object[] {"5f191f0ff4b034","Administrator","888888",2052 };

 var loginResult= customClient.Execute<string>("Kingdee.BOS.WebApi.ServicesStub.AuthService.ValidateUser", loginInfo);

var resultType = JObject.Parse(loginResult)["LoginResultType"].Value<int>();

if(resultType==1)//登录成功


六、常见问题:

1.账套Id哪里找?

  在线测试页面或管理中心数据库查询获得select FDATACENTERID from T_BAS_DATACENTER

2.每次调用其他接口,是否需要先调用登录接口?

  不需要,调用一次后等会话超时再次调用就可以,调用其他接口还回的结果有MsgCode,MsgCode等1就代表需要重新调用登录接口

3.如果不等会话超时,可否提前注销登录?

  可以,调用登出接口,http://ServerIp/K3Cloud/Kingdee.BOS.WebApi.ServicesStub.AuthService.Logout.common.kdsvc

4.调用接口的账号是否站点数限制?

  不会,也不会影响网站上的使用,不会踢人。

5.在线测试登录接口报错?

  所有参数都填写正确,在线测试报错,很可能是服务地址写成了外网访问地址,把服务地址改成localhost即可,因为在线测试是在服务器内部运行。


七、其他参考:

1. 第三方系统使用集成密钥登录

  https://vip.kingdee.com/article/22914




赞 15