开发者社区> 问答> 正文

钉钉里如何批量获取用户unionId?

钉钉里如何批量获取用户unionId?

展开
收起
小小鹿鹿鹿 2024-01-11 07:59:12 110 0
3 条回答
写回答
取消 提交回答
  • 要批量获取钉钉用户的UnionId,可以使用钉钉开放平台提供的"批量获取用户详情"接口(user/get)来实现。以下是具体的步骤:

    1.获取要查询的用户userid列表:在调用批量获取用户详情接口之前,需要先获取要查询的用户userid列表。可以使用"获取部门用户userid列表"接口(department/user/simplelist)或者"获取企业员工人数"接口(user/get_org_user_count)等接口获取员工userid列表。

    2.调用批量获取用户详情接口:调用批量获取用户详情接口(user/get)时,需要传递要查询的用户userid列表,并设置返回结果中需要包含unionid字段。具体参数包括:

    • userid_list:要查询的用户userid列表,最多支持查询100个用户的详情。
    • lang:返回结果的语言,选填,默认为"zh_CN"。
    • request_unionid:是否返回用户的unionid,必填,设置为true即可。
    2024-01-13 20:11:15
    赞同 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    要批量获取钉钉用户的unionId,您可以使用钉钉开放平台提供的"批量获取用户详情"接口(user/get)。首先,您需要获取要查询的用户userid列表。

    具体步骤如下:

    1. 登录开发者后台,创建第三方企业应用。
    2. 获取SuiteKey和SuiteSecret。
    3. 设置第三方企业应用的数据推送。
    4. 调用批量获取用户详情接口,传入userid列表即可获取到用户的详细信息,其中包括UnionId。
    2024-01-13 10:24:42
    赞同 展开评论 打赏
  • 先获取部门id,在循环获取的部门id获取部门对应的用户unionId
    调用服务端API-获取子部门ID列表接口,逐级遍历获取该企业下所有部门的ID。

     public void departmentListSubId() throws ApiException {
            DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/v2/department/listsubid");
            OapiV2DepartmentListsubidRequest req = new OapiV2DepartmentListsubidRequest();
            req.setDeptId(1L);
            OapiV2DepartmentListsubidResponse rsp = client.execute(req, "access_token");
            System.out.println(rsp.getBody());
        }
    

    根据各个部门ID,分别调用服务端API-获取部门用户详情接口,分别获取每个部门下的员工详情信息。

    public void departmentUserInfo() throws ApiException {
            DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/v2/user/list");
            OapiV2UserListRequest req = new OapiV2UserListRequest();
            req.setDeptId(1L);
            req.setCursor(0L);
            req.setSize(10L);
            req.setOrderField("modify_desc");
            req.setContainAccessLimit(false);
            req.setLanguage("zh_CN");
            OapiV2UserListResponse rsp = client.execute(req, "access_token");
            System.out.println(rsp.getBody());
        }
    

    getBody()的内容示例

    {
            "errcode":"0",
            "result":{
                    "next_cursor":"10",
                    "has_more":"true",
                    "list":{
                            "leader":"true",
                            "extension":"{\"爱好\":\"旅游\",\"年龄\":\"24\"}",
                            "unionid":"z21HjQliSzpw0YWCNxmii6u2Os62cZ62iSZ",
                            "boss":"true",
                            "exclusive_account":"false",
                            "admin":"true",
                            "remark":"备注备注",
                            "title":"技术总监",
                            "hired_date":"1597573616828",
                            "userid":"zhangsan",
                            "work_place":"未来park",
                            "dept_id_list":"[2,3,4]",
                            "job_number":"4",
                            "email":"test@xxx.com",
                            "dept_order":"1",
                            "mobile":"18513027676",
                            "active":"true",
                            "telephone":"010-86123456-2345",
                            "avatar":"xxx",
                            "hide_mobile":"false",
                            "org_email":"test@xxx.com",
                            "name":"张三",
                            "state_code":"86"
                    }
            },
            "errmsg":"ok"
    }
    
    2024-01-11 14:08:31
    赞同 展开评论 打赏
来源圈子
更多
收录在圈子:
+ 订阅
问答排行榜
最热
最新

相关电子书

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