1、使用WEBAPI集成,一定请阅读下面资料。
https://vip.kingdee.com/article/12353 关于webapi集成的资料。
2、调用WebApi登陆后返回以下数据结构
{
"Message": "",
"MessageCode": "$ReqMsgOption_Question",
"LoginResultType": 1,
"Context": {
"UserLocale": "zh-CN",
"LogLocale": "",
"DBid": "5cc6b30ceaff80",
"DatabaseType": 3,
"SessionId": "e0kfkzigbonav5rkucggzw2d", // 注释:cookie的 ASP.NET_SessionId 值,需要用这个值写入cookie进行后续操作。
"UseLanguages": [
{
"LocaleId": 1033,
"LocaleName": "English (United States)",
"Alias": "US"
},
{
"LocaleId": 2052,
"LocaleName": "中文(简体/中国)",
"Alias": "CN"
},
{
"LocaleId": 3076,
"LocaleName": "中文(香港)",
"Alias": "HK"
}
],
"UserId": 100007,
"UserName": "demo",
"CustomName": "",
"DisplayVersion": "7.5.1450.1",
"DataCenterName": "蓝海机械演示数据",
"UserToken": "ea110f22-8f81-4088-ba44-15010b79e6ad", // 注释:当前登陆的用户会话id,用于参考,暂时没有用到
"CurrentOrganizationInfo": {
"ID": 100001,
"AcctOrgType": "1",
"Name": "蓝海柴油机公司",
"FunctionIds": []
},
"IsCH_ZH_AutoTrans": false,
"ClientType": 16,
"UTimeZone": {
"OffsetTicks": 288000000000,
"StandardName": "(UTC+08:00)北京,重庆,香港特别行政区,乌鲁木齐",
"Id": 230,
"Number": "1078_SYS",
"CanBeUsed": true
},
"STimeZone": {
"OffsetTicks": 288000000000,
"StandardName": "(UTC+08:00)北京,重庆,香港特别行政区,乌鲁木齐",
"Id": 230,
"Number": "1078_SYS",
"CanBeUsed": true
},
"GDCID": "9c300595-644f-46ff-b4f8-4f365358c86d"
},
"KDSVCSessionId": "a7066f3d-f09c-44eb-8fa5-d2a971e109dc", // 注释:cookie的 kdservice-sessionid 值,需要用这个值写入cookie,同时写入reqeust的headers, kdservice-sessionid = a7066f3d-f09c-44eb-8fa5-d2a971e109dc 。
"FormId": null,
"RedirectFormParam": null,
"FormInputObject": null,
"ErrorStackTrace": null,
"Lcid": 2052,
"AccessToken": null,
"KdAccessResult": null,
"IsSuccessByAPI": true
}
3、获取上面的SessionId,并写入后续请求的cookie中,即可关联到登陆时的上下文信息。
【答疑】:
1、KDSVCSessionId 为空?
答:请升级最新7.5补丁
2、如何查看请求返回内容?
答:按下面步骤放开调试明文数据。
2.1、把请求header的content-type改成 text/json,返回就可以看到json格式的了。
2.2、另外调试的时候,把压缩参数改成false,就可以不启用压缩,就是明文传输了。
... ...
推荐阅读