C#调用用友U8OpenAPI体验

来源:互联网 发布:js正则判断数字 编辑:程序博客网 时间:2024/05/17 06:04

怎么说呢,用友U8的OpenAPI从调用方面来说比U8本身的API方便很多,更适合新接触U8二开的人上手,但是同样U8这款软件的运行效率问题也很严重,OpenAPi的调用方式是先访问U8的OpenAPI网站,然后网站根据appkey和调用方id进行一次转发,所以说OpenAPI不适合数据流量大的二次开发。

为什么要写这篇博文,是因为当时在网上找OpenAPi的资料并没有找到,所以想了想写了一篇这个博文。

第使用OpenAPI的话,二开系统的账号登陆就不用指望去使用Session存了(反正本人是折腾了半天都没成功,貌似原因是http管道通讯变了。),本人的二开系统使用cookie存放账号信息。

接下来进入正题:

调用OpenAPI的准备:

一.在用友开放平台注册账号。

二.申请成为开发者。

三.下载OpenAPI客户端。

四.申请测试账号。

五.U8开放平台配置应用需要调用的接口。

六.配置OpenAPI客户端。

完成准备后就可以开始项目的搭建了。

我这里就放置一个获取U8token的代码吧。

 public NewsModel getToken(U8APIModel _u8api)        {            try            {                string API = @"system/token";                string parameter = "from_account=" + _u8api.From_Account + "&app_key=" + _u8api.App_Key + "&app_secret=" + _u8api.App_Secret;                string json = HttpGet(API, parameter);                JObject jo = (JObject)JsonConvert.DeserializeObject(json);                JObject obj = JObject.Parse(json);                var data = obj["token"];                if (State(json))                {                    NewsModel nw = new NewsModel                    {                        State = true                    };                    nw.News = data["id"].ToString();                    return nw;                }                string n = jo["errmsg"].ToString();                NewsModel nm = new NewsModel                {                    State = false,                    News = n                };                return nm;            }            catch (Exception ex)            {                return new NewsModel                {                    State = false,                    News = ex.ToString()                };            }        }
gettoken方法是get形式的所以直接放松就可以了,但是需要注意的是OpenAPI的post形式接口是需要json形式的参数的。

原创粉丝点击