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

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

方式一 鉴权流程完成后

钉钉的某些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 访问 https://oapi.dingtalk.com/gettoken?corpid=id&corpsecret=secrect接口获取 access_token ,返回的结果如下:

{

"errcode": 0,

"errmsg": "ok",

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

}

拿到 access_token 之后,和前端传过来的 code 调用 https://oapi.dingtalk.com/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 之后,在调用 https://oapi.dingtalk.com/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@aliyun.com",

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

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

"mobile": "15901516821",

"errmsg": "ok",

"active": false,

"avatar": "dingtalk.com/abc.jpg",

"isAdmin": false,

"isHide": false,

"jobnumber": "001",

"name": "测试名字",

"extattr": {},

"stateCode": "86",

"position": "总监"

}


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部