
天貓商品數(shù)據(jù)爬取方案:官方API與非官方接口實(shí)戰(zhàn)
釘釘參數(shù)類(lèi)
給獲取token包一層方法,供外部調(diào)用,方法內(nèi)部加入緩存設(shè)計(jì),這樣就不用每次都生成新的token,提升性能,減少請(qǐng)求網(wǎng)絡(luò)帶來(lái)的資源消耗。
關(guān)于token操作的類(lèi)代碼如下:
public class Token
{
///
/// 到期時(shí)間(防止時(shí)間差,提前1分鐘到期)
///
///
///
public static DateTime TookenOverdueTime(DingToken token)
{
return token.CreateTokenTime.AddSeconds(token.Expires_in - 60);
}
///
/// 是否超時(shí)
///
///
///
public static bool IsTimeOut(DingToken token)
{
return DateTime.Now >= TookenOverdueTime(token);
}
///
///
///
///
public static async Task GetNewToken(DingConfig dingConfig)
{
string strulr = "https://oapi.dingtalk.com/gettoken?appkey={0}&appsecret={1}";
string appkey = dingConfig.DingAppKey; //應(yīng)用的唯一標(biāo)識(shí)key
string appsecret = dingConfig.DingAppSecret;//應(yīng)用的密鑰
HttpHelper http = new HttpHelper();
string respone = await http.Get(string.Format(strulr, appkey, appsecret), Encoding.UTF8);
var token = respone.ToObject();
token.CreateTokenTime = DateTime.Now;
return token;
}
///
/// 獲取token
///
///
public static async Task GetToken(DingConfig dingConfig)
{
var cache = IocManager.Instance.GetService();
string key = "${dingConfig.DingAppKey}_${dingConfig.DingAppSecret}_${dingConfig.DingAgentId}";
//讀取緩存token
var dingDingToken = cache.Read(key);
if (dingDingToken == null || IsTimeOut(dingDingToken))
{
dingDingToken = await GetNewToken(dingConfig);
//寫(xiě)入緩存token
cache.Write(key, dingDingToken);
}
return dingDingToken.Access_token;
}
}
public class DingToken{
///
/// access_token
///
public string Access_token { get; set; }
///
/// 過(guò)期時(shí)間
///
public int Expires_in { get; set; }
///
/// 創(chuàng)建時(shí)間
///
public DateTime CreateTokenTime { get; set; }
}
同步部門(mén)數(shù)據(jù),在實(shí)例化時(shí)賦值,就是調(diào)用釘釘API時(shí)的Url連接。
同步用戶數(shù)據(jù),在實(shí)例化時(shí)賦值,就是調(diào)用釘釘API時(shí)的Url連接。
調(diào)api獲取用戶數(shù)據(jù)
寫(xiě)業(yè)務(wù)邏輯
同步用戶
本文介紹了如何使用 C# 語(yǔ)言對(duì)接釘釘開(kāi)放平臺(tái) API,獲取公司部門(mén),人員的數(shù)據(jù)。主要步驟包括:注冊(cè)釘釘開(kāi)發(fā)者賬號(hào)并創(chuàng)建應(yīng)用,獲取 AppKey 和 AppSecret
。使用 AppKey 和 AppSecret
獲取 AccessToken。調(diào)用釘釘 API 獲取部門(mén)列表和部門(mén)下人員列表。C# 語(yǔ)言可以方便地與釘釘開(kāi)放平臺(tái) API 進(jìn)行交互,實(shí)現(xiàn)企業(yè)應(yīng)用與釘釘?shù)募伞?/p>
原文轉(zhuǎn)載自:https://mp.weixin.qq.com/s/rFmHbxy4J-JSSpXGUMjDHA
天貓商品數(shù)據(jù)爬取方案:官方API與非官方接口實(shí)戰(zhàn)
地圖開(kāi)發(fā)者平臺(tái)對(duì)比:高德、百度、騰訊、必應(yīng)、天地圖等API
讓大模型“聯(lián)網(wǎng)”的第一步?手把手教你調(diào)用搜索API!
API接口安全—webservice、Swagger、WEBpack
從零開(kāi)始認(rèn)識(shí) API,讓網(wǎng)頁(yè)信息成為你的「知識(shí)庫(kù)」
APISIX-MCP:利用 AI + MCP 擁抱 API 智能化管理
如何0代碼將存量 API 適配 MCP 協(xié)議?
C# 與 Windows API 交互的“秘密武器”:結(jié)構(gòu)體和聯(lián)合體
免費(fèi)強(qiáng)大的API開(kāi)發(fā)和調(diào)試工具——Reqable
對(duì)比大模型API的內(nèi)容創(chuàng)意新穎性、情感共鳴力、商業(yè)轉(zhuǎn)化潛力
一鍵對(duì)比試用API 限時(shí)免費(fèi)