U9C OPENAPI开发启动

得益于企业微信项目上的积累,U9C之OPENAPI阻碍因素迎刃而解了。可以开始自已独立做一些外挂的项目。

准备:

在 U9C 系统用 EA 账号创建 API 应用,如MES OA HR PLM等,获取到 clientid 与 clientsecret。参照U9C的官网。

再获得token

按照官网上指供的指引,传入必须的参数,就可以实现需要的功能。如与MES PLM 企业微信等工具做数据交互了。具体案例以后贴出来吧。

复制代码
using System.Net.Http;
using Newtonsoft.Json;
// 1. 获取授权码
var client = new HttpClient();
var authReq = new HttpRequestMessage(HttpMethod.Get,
    "http://your-u9c-server/u9c/webapi/OAuth2/GetAuthorizeCode?clientid=AP&clientsecret=xxx");
var authResp = await client.SendAsync(authReq);
var authBody = await authResp.Content.ReadAsStringAsync();
var authData = JsonConvert.DeserializeObject<dynamic>(authBody);
var authorizeCode = authData.authorizeCode;
// 2. 登录获取Token
var loginReq = new HttpRequestMessage(HttpMethod.Get,
    $"http://your-u9c-server/u9c/webapi/OAuth2/Login?authorizeCode={authorizeCode}");
var loginResp = await client.SendAsync(loginReq);
var loginBody = await loginResp.Content.ReadAsStringAsync();
var token = JsonConvert.DeserializeObject<dynamic>(loginBody).token;
// 3. 调用PR/Create创建请购单
var prClient = new HttpClient();
prClient.DefaultRequestHeaders.Add("Authorization", $"Bearer {token}");
var prData = new {
    OrgCode = "01",
    Requester = "张三",
    PRLine = new[] { new { ItemCode = "M001", Qty = 10, Unit = "PC" } }
};
var prReq = new HttpRequestMessage(HttpMethod.Post,
    "http://your-u9c-server/u9c/webapi/PR/Create") {
    Content = new StringContent(JsonConvert.SerializeObject(prData),
    System.Text.Encoding.UTF8, "application/json")
};
var prResp = await prClient.SendAsync(prReq);
相关推荐
yujunl9 小时前
报表服务器无法验证数据库中加密数据的完整性
u9c
yujunl9 小时前
U9C采购退货单-无来源的实现
u9c
云中计算巫作坤7 个月前
U9C与钉钉审批流对接完整过程
钉钉·u9c·集成对接