WebApi 登陆返回数据结构以及后续请求关联原创
金蝶云社区-yaojunsong
yaojunsong
6人赞赏了该文章 1858次浏览 未经作者许可,禁止转载编辑于2020年03月18日 15:38:55


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格式的了。

image.png


2.2、另外调试的时候,把压缩参数改成false,就可以不启用压缩,就是明文传输了。

image.png


... ... 


赞 6