在做釘釘開發的時候,要想使用高級點的功能,需要釘釘鑒權驗證,但是阿里給出的只有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); }