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
}
}