asp.net c#语言实现钉钉鉴权验证
在做钉钉开发的时候,要想使用高级点的功能,需要钉钉鉴权验证,但是阿里给出的只有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); }