123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151 |
- 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
- {
- /// <summary>
- /// 易快报api接口调用类
- /// </summary>
- 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
- /// <summary>
- /// 获取地址前缀
- /// </summary>
- /// <returns></returns>
- public string location()
- {
- string url = "https://app.ekuaibao.com/api/openapi/v2/location?corpId=" + ID;
- var str = http.retObject(url);
- JObject json = JsonConvert.DeserializeObject<JObject>(str.ToString());
- string htps = json["value"].ToString();
- return htps;
- }
- /// <summary>
- /// 获取token
- /// </summary>
- /// <param name="appkey"></param>
- /// <param name="appSecurity"></param>
- /// <returns>value值</returns>
- 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<JObject>(str.ToString());
- refreshToken = json["value"]["refreshToken"].ToString();
- token = json["value"]["accessToken"].ToString();
- return token;
- }
- /// <summary>
- /// 刷新授权
- /// </summary>
- /// <param name="accessToken">即将过期的授权码</param>
- /// <param name="refreshToken">刷新的授权码</param>
- /// <param name="powerCode">商品授权码</param>
- /// <returns></returns>
- 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<JObject>(str.ToString());
- token = json["value"].ToString();
- return token;
- }
- /// <summary>
- /// 超时判断
- /// </summary>
- /// <param name="ken"></param>
- /// <returns></returns>
- 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;
- }
- /// <summary>
- /// 时间戳转换(毫秒级)
- /// </summary>
- /// <param name="datetime"></param>
- /// <returns></returns>
- public static long DateTimeToInt(DateTime datetime)
- {
- return (datetime.ToUniversalTime().Ticks - new DateTime(1970, 1, 1).Ticks) / 10000;
- }
- #region 根据名称获取自定义档案项
- /// <summary>
- /// 获取自定义档案项
- /// </summary>
- /// <param name="accessToken">认证token</param>
- /// <param name="start">分页查询的起始序号</param>
- /// <param name="count">查询数据条数</param>
- /// <returns></returns>
- 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<JObject>(items.ToString());
- return setYkb["count"].ToString();
- }
- #endregion
- }
- }
|