using ConsoleApp1.Controller.Sql_controller; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApp1.Controller.Ykb_API { /// /// 易快报api接口调用类 /// public class Ykb_APIServer { private DateTime dtttime; private static HttpHepler http = new HttpHepler(); private string token, refreshToken; private string appKey = "6dc9da42-b1ee-4ba0-971e-8bd122359a1a";//接入账号 private string appSecurity = "655fa5d5-68d8-48ba-b618-c7b4dd6b43a7";//接入密码 private string ID = "gCEbY44UmM4Q00"; //企业ID /// /// 获取地址前缀 /// /// public string location() { string url = "https://app.ekuaibao.com/api/openapi/v2/location?corpId=" + ID; var str = http.retObject(url); JObject json = JsonConvert.DeserializeObject(str.ToString()); string htps = json["value"].ToString(); return htps; } /// /// 获取token /// /// /// /// value值 public string getAccessToken() { //string _location = location(); string url = "https://dd2.ekuaibao.com/api/openapi/v1/auth/getAccessToken"; string dictionary = "{\"appKey\"" + ":" + "\"" + appKey + "\"," + "\"appSecurity\"" + ":" + "\"" + appSecurity + "\"}"; var str = http.HttpPost(url, dictionary); JObject json = JsonConvert.DeserializeObject(str.ToString()); refreshToken = json["value"]["refreshToken"].ToString(); token = json["value"]["accessToken"].ToString(); return token; } /// /// 刷新授权 /// /// 即将过期的授权码 /// 刷新的授权码 /// 商品授权码 /// public string refreshTokens(string accessToken, string powerCode = "219904") { ///POST 方法 https://app.ekuaibao.com/api/openapi/v2/auth/refreshToken?accessToken= string url = "https://dd2.ekuaibao.com/api/openapi/v2/auth/refreshToken?accessToken=" + accessToken + "&refreshToken=" + refreshToken + "&" + powerCode; var str = http.HttpPost(url, null); JObject json = JsonConvert.DeserializeObject(str.ToString()); token = json["value"].ToString(); return token; } /// /// 超时判断 /// /// /// public string dttoken(string ken = "") { string AccessToken = ""; if (dtttime.ToString() == "0001/1/1 0:00:00") { dtttime = DateTime.Now; AccessToken = getAccessToken(); } if (dtttime.ToString() != "0001/1/1 0:00:00" && (dtttime.AddHours(2) < dtttime)) { AccessToken = refreshTokens(ken); } return AccessToken; } /// /// 时间戳转换(毫秒级) /// /// /// public static long DateTimeToInt(DateTime datetime) { return (datetime.ToUniversalTime().Ticks - new DateTime(1970, 1, 1).Ticks) / 10000; } #region 根据名称获取自定义档案项 /// /// 获取自定义档案项 /// /// 认证token /// 分页查询的起始序号 /// 查询数据条数 /// public string dimensions(string accessToken, string Code) { string url = "https://dd2.ekuaibao.com/api/openapi/v1/dimensions/getDimensionByCode?accessToken=" + accessToken + "&code=" + Code; var items = http.retObject(url); return items.ToString(); } #endregion #region 创建自定义档案项 public string InsertDAN(string accesToken, string name,string dimensionId,string code) { string url = " https://dd2.ekuaibao.com/api/openapi/v1/dimensions/items?accessToken=" + accesToken; string dictionary = "{\"dimensionId\":\""+ dimensionId + "\",\"name\":\""+name + "\",\"code\":\""+code + "\",\"parentId\":\"\"}"; var items = http.HttpPost(url, dictionary); return items; } #endregion #region 判断自定义档案项是否存在 public string setDAN(string accesToken, string code) { string url = "https://dd2.ekuaibao.com/api/openapi/v1/dimensions/getDimensionByCode?accessToken=" + accesToken + "&code="+ code; var items = http.retObject(url); JObject setYkb = JsonConvert.DeserializeObject(items.ToString()); return setYkb["count"].ToString(); } #endregion } }