釘釘的開發介面中,目前沒有在服務端直接獲取chatid的介面,但提供了客戶端獲取chatid的介面。所以有需要獲取該介面的,我們可以暫時使用客戶端的方式獲取。為了能夠使用jsapi,我們還需要利用jsticket來得到簽名包,具體**如下。
#region fetchsignpackage function
/// /// 獲取簽名包
///
///
///
public static signpackage fetchsignpackage(string url, jsticket jsticket)
// 這裡引數的順序要按照 key 值 ascii 碼公升序排序
string rawstring = $"=" + jsticket.ticket
+ $"&=" + noncestr
+ $"&=" + timestamp
+ $"&=" + url;
string signature = signpackagehelper.sha1hex(rawstring).tolower();
var signpackage = new signpackage()
;return signpackage;
}/// /// 獲取簽名包
///
///
///
public static signpackage fetchsignpackage(string url)
#endregion
/// /// 簽名包
///
public class signpackage
public string corpid
public string timestamp
public string noncestr
public string signature
public string url
public string rawstring
public string jsticket
}
using system;
using system.collections.generic;
using system.linq;
using system.security.cryptography;
using system.text;
namespace ddsdk
return sh1;
}#endregion
#region createnoncestr
/// /// 建立隨機字串
///
///
public static string createnoncestr()
return str;
}#endregion
#region converttounixtimestamp
/// /// 將datetime時間格式轉換為unix時間戳格式
///
/// 時間
/// double
public static int converttounixtimestamp(datetime time)
#endregion}}
在介面上我們可以使用json的方式來獲取資料,為了方便後續的使用,這裡定義了乙個global.js。
/// var global = );
dd.ready(function ()
});dd.error(function (err)
else
});}
catch (e)
});}
}
其中"/api/auth/getsignpackage"是webapi的方式,這將在後續中說到。這裡需要引用zepto.min.js。
下面呼叫的結果
釘釘開發系列 四 獲取JS票據
釘釘的客戶端開發和服務端有乙個重要的區別,服務端只需要得到access token就可以了,而客戶端還需要進一步換取jsticket。所以我們要進行客戶端的開發,第一步就是得到jsticket。又由於jsticket有7200秒的限制,而且每請求一次前面的就會失效,為此我們需要做乙個快取層來儲存。首...
釘釘開發系列篇之開發第乙個Django Web應用
第一部分 在windows上安裝django 在使用django開發應用之前,你需要安裝它。在這裡,採取簡單的最小化的安裝就可以完成基本的建站任務需求。django安裝嚮導 第一步,安裝python。django是乙個基於python的網路框架,因此安裝django需要首先安裝python。在本系列...
Python Pytest框架(五)生成測試報告
忘了的話,來個pytest h findstr html,還可以輸出為文字 pytest h pytest help.txt 1 格式 pytest sv html 測試報告的路徑 要執行的檔案 例如 pytest sv html report.html xfail test.py 會自動在當前目錄...