在做釘釘開發的時候,要想使用高級點的功能,需要釘釘鑒權驗證,但是阿里給出的只有java和php的demo,沒有c#,導致我在這方面耽誤了好長時間,今天終於鑒權成功了
前台js代碼,第一步必須引入釘釘的js
<script src="//g.alicdn.com/dingding/dingtalk-jsapi/2.0.57/dingtalk.open.js"></script>
dd.config({
agentId: '', // 必填,微應用ID
corpId: '',//必填,企業ID
timeStamp: '', // 必填,生成簽名的時間戳
nonceStr: '', // 必填,生成簽名的隨機串,這個位置隨便填寫,記得要跟后台生成簽名時的隨機串要一致
signature: '', // 必填,簽名
type: 0, //選填。0表示微應用的jsapi,1表示服務窗的jsapi;不填默認為0。該參數從dingtalk.js的0.8.3版本開始支持
jsApiList: [
'device.geolocation.get',
'biz.util.scanCard',
'biz.telephone.showCallMenu',
'device.base.getUUID',
'biz.contact.complexPicker',
'biz.util.scanCard',
] // 必填,需要使用的jsapi列表,注意:不要帶dd。
});
dd.ready(function () {
dd.biz.telephone.showCallMenu({
phoneNumber: '18358602087', // 期望撥打的電話號碼
code: '+86', // 國家代號,中國是+86
showDingCall: true, // 是否顯示釘釘電話
onSuccess: function () { },
onFail: function () { }
})
})
dd.error(function (error) {
alert('dd error: ' + JSON.stringify(err));
});
1、獲取Ticket(門票)
string Url = "https://oapi.dingtalk.com/get_jsapi_ticket?access_token=" + Tokens; string Ticket = _token.GetContentFromUrl(Url); //獲取Ticket前要獲取Token
2、獲取時間戳
public static long GetTimeStamp() //獲取時間戳
{
TimeSpan ts = DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0);
return Convert.ToInt64(ts.TotalSeconds);
}

