美文网首页
钉钉微应用移动端获取用户信息

钉钉微应用移动端获取用户信息

作者: 小小的小帅 | 来源:发表于2022-01-17 11:16 被阅读0次

    方式一 鉴权流程完成后

    • 钉钉的某些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。
    });
    
    

    方式二 没有鉴权

    1. 获取 corpid 和 corpsecret : 参考官方API,必须使用最高管理员才能拿到 corpsecret ,
    2. 拿到 corpid 和 corpsecret 访问 https://oapi.dingtalk.com/gettoken?corpid=id&corpsecret=secrect接口获取 access_token ,返回的结果如下:
    {
        "errcode": 0,
        "errmsg": "ok",
       *  "access_token": "fw8ef8we8f76e6f7s8df8s" //这个就是
    }
    
    
    1. 拿到 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
    }
    
    
    1. 拿到 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": "总监"
    }
    

    相关文章

      网友评论

          本文标题:钉钉微应用移动端获取用户信息

          本文链接:https://www.haomeiwen.com/subject/krkchrtx.html