1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 叮叮获取所有用户信息_钉钉微应用移动端获取用户信息

叮叮获取所有用户信息_钉钉微应用移动端获取用户信息

时间:2019-06-02 23:42:51

相关推荐

叮叮获取所有用户信息_钉钉微应用移动端获取用户信息

个人博客迁移到,此处停更.请移步。

方式一 鉴权流程完成后

钉钉的某些API在鉴权前是可以调用的,因此,可以直接调用,但是 dd.biz.user.get 不鉴权是无法调用的,关于鉴权,请参考 钉钉鉴权文档;配置完成之后,将相关参数传递给前端,前端在将下列参数配置齐全就可以调用 dd.biz.user.get 获取用户信息了.

dd.config({

agentId: '', // 必填,微应用ID

corpId: '',//必填,企业ID

timeStamp: , // 必填,生成签名的时间戳

nonceStr: '', // 必填,生成签名的随机串

signature: '', // 必填,签名

type:0/1, //选填,0表示微应用的jsapi,1表示服务窗的jsapi,不填默认为0。该参数从dingtalk.js的0.8.3版本开始支持

jsApiList : [ 'runtime.info', 'biz.contact.choose',

'device.notification.confirm', 'device.notification.alert',

'device.notification.prompt', 'biz.ding.post',

'biz.util.openLink' ] // 必填,需要使用的jsapi列表,注意:不要带dd。

});

方式二 没有鉴权

后端提供接口,接受微应用免登授权码。前端调用 dd.runtime.permission.requestAuthCode 获取到微应用免登授权码后传给后端,后端分一下几步:

获取 corpid 和 corpsecret : 参考官方API,必须使用最高管理员才能拿到 corpsecret ,

拿到 corpid 和 corpsecret 访问 /gettoken?corpid=id&corpsecret=secrect接口获取 access_token ,返回的结果如下:

{

"errcode": 0,

"errmsg": "ok",

* "access_token": "fw8ef8we8f76e6f7s8df8s" //这个就是

}

拿到 access_token 之后,和前端传过来的 code 调用 /user/getuserinfo?access_token=ACCESS_TOKEN&code=CODE获取 userid,

{

"errcode": 0,

"errmsg": "ok",

* "userid": "USERID", //就是这个

"deviceId":"DEVICEID",

"is_sys": true,

"sys_level": 0|1|2

}

拿到 userid 之后,在调用 /user/get?access_token=ACCESS_TOKEN&userid=zhangsan获取用户信息,正确则返回的格式如下:

{

"errcode": 0,

"unionid": "PiiiPyQqBNBii0HnCJ3zljcuAiEiE",

"openId": "PiiiPyQqBNBii0HnCJ3zljcuAiEiE",

"roles": [{

"id": 23003585,

"name": "财务",

"groupName": "职务"

}],

"remark": "备注",

"userid": "04232334556237185",

"isLeaderInDepts": "{1:false}",

"isBoss": false,

"hiredDate": 1520265600000,

"isSenior": false,

"tel": "010-88996533",

"department": [1,2],

"workPlace": "北京市朝阳区",

"email": "ceshi@",

"orderInDepts": "{1:71738366882504}",

"dingId": "$:LWCP_v1:$aTPvVHhhsCMtDZRQ1xbYGg==",

"mobile": "15901516821",

"errmsg": "ok",

"active": false,

"avatar": "/abc.jpg",

"isAdmin": false,

"isHide": false,

"jobnumber": "001",

"name": "测试名字",

"extattr": {},

"stateCode": "86",

"position": "总监"

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。