开发者社区> 问答> 正文

钉钉如何获取用户的userId和设备ID?

钉钉如何获取用户的userId和设备ID?

展开
收起
-Feng、冯冯 2024-02-08 10:51:55 79 0
7 条回答
写回答
取消 提交回答
  • 用户的userId需要通过部门获取获取的接口方法如下

    DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/user/listid");
    OapiUserListidRequest req = new OapiUserListidRequest();
    req.setDeptId(100L);获取获取的用户所在的部门ID
    OapiUserListidResponse rsp = client.execute(req, access_token);
    System.out.println(rsp.getBody());
    

    返回的示例如下

    {
        "errcode": 0,
        "errmsg":"ok",
        "result": {
            "userid_list": [
                "usxxx",
                "manager4xxx",
                "10203029011xxxx",
                "usexxx"
            ]
        },
        "request_id": "3naksldjh0dk"
    }
    

    返回的是当前部门下的所有用户的userId

    获取设备ID的接口调用如下

    DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/smartdevice/device/querylist");
    OapiSmartdeviceDeviceQuerylistRequest req = new OapiSmartdeviceDeviceQuerylistRequest();
    PageQueryVo pageQueryVo = new PageQueryVo();
    pageQueryVo.setPk("pk_01");
    pageQueryVo.setCursor(0L);
    pageQueryVo.setSize(20L);
    req.setPageQueryVo(pageQueryVo);
    OapiSmartdeviceDeviceQuerylistResponse rsp = client.execute(req, access_token);
    System.out.println(rsp.getBody());
    

    返回结果如下:

    {
        "result": {
            "next_cursor": 0,
            "has_more": false,
            "list": [
                {
                    "nick": "ding",
                    "ext": "智能产品",
                    "device_mac": "11.11.11.11",
                    "device_name": "产品智能",
                    "device_id": "QWR45GT",
                    "pk": "pk_01",
                    "sn": "sdx123d123asdf",
                    "corp_id": "ding9f5xxxx",
                    "userid": "user01"
                }
            ]
        },
        "errcode": 0,
        "success": true,
        "request_id": "exz1t52e9awo"
    }
    
    2024-02-22 13:32:02
    赞同 1 展开评论 打赏
  • 根据unionid获取用户userid
    image.png

    image.png

    2024-02-20 14:11:58
    赞同 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    钉钉获取用户userId和设备ID的步骤如下:

    1. 获取免登授权码:这是获取用户信息的第一步,您需要通过钉钉的相应接口获取到免登授权码。
    2. 获取AccessToken:使用上一步获取的免登授权码,您可以调用钉钉的接口来获取AccessToken。
    3. 获取UserID:有了AccessToken之后,您可以调用钉钉提供的API接口,如user/getuserinfouser/get,来获取用户的UserID。
    4. 获取设备ID:在获取到UserID之后,您可以通过UserID进一步获取用户的详细信息,其中可能包括设备ID。

    总的来说,您可以通过以上步骤在钉钉中获取用户的userId和设备ID。需要注意的是,在获取和使用用户信息时,应当遵守相关的隐私保护法规和平台政策,确保用户数据的安全和合法使用。如果您在操作过程中遇到任何问题,建议查阅钉钉开放平台的官方文档或联系钉钉的技术支持以获得帮助。

    2024-02-17 17:48:37
    赞同 展开评论 打赏
  • 【管理后台 oa.dingtalk.com】-【通讯录】-【成员管理】-【找到该员工】-【点击该员工】查看;也可以导出通讯录查看员工的UserID。

    image.png

    2024-02-17 14:11:08
    赞同 展开评论 打赏
  • 如何设置员工的UserID-钉钉帮助中心

    您好,通讯录管理员添加员工时,可以自行设置UserID,如果UserID没有设定的话,系统会自动生成。UserID是员工在企业的唯一标识,一旦生成不支持修改。员工离开该企业,重新加入时UserID值可能会发生变化。

    注意:员工的UserID目前仅支持企业通讯录管理员查看,员工自己无法查看。

    管理员设置路径如下:

    1、登录【管理后台(oa.dingtalk.com)】-左侧【通讯录】-【内部通讯录管理】-【添加成员】-【员工UserID】设置即可。

    a32558d93739724bf614228311da0c0c_1c34acf1722ed001b87f3d98ca8c4f62.png

    2、登录【管理后台(oa.dingtalk.com)】-左侧【通讯录】-【内部通讯录管理】-【批量导入/导出】-【批量导入成员】-【下载模板】- 填写员工信息及UserID- 【上传填好的文件】即可。
    b923d59bf5eda060a475fbabf051ed57_ff2c934430805bf7a1a9dfe1647e1e41.png

    【温馨提示】:若员工离职后重新入职需要与之前的UserID一致,可以先查看之前的UserID,然后导入员工时将UserID设置为之前的UserID即可。

    2024-02-11 22:04:02
    赞同 展开评论 打赏
  • 可以通过免登授权码和access_token获取用户的userid,然后通过userid获取用户的详细信息。具体流程为:获取免登授权码,获取AccessToken,获取userid,获取用户详情。企业内每个员工都有唯一的UserId,可以登录钉钉管理后台,在通讯录 > 成员管理页面,单击员工姓名可查看员工的UserId。而设备ID在文本材料中没有提到。

    此回答整理自钉群“钉钉开发者社区(互助群)”

    2024-02-08 11:12:09
    赞同 展开评论 打赏
滑动查看更多
来源圈子
更多
收录在圈子:
+ 订阅
问答排行榜
最热
最新

相关电子书

更多
钉钉小程序——为工作方式插上翅膀 立即下载
钉钉客户端自动化的应用 立即下载
使命必达 —— 钉钉企业级 消息服务的机遇与挑战 立即下载