开发者社区 问答 正文

钉钉如何获取全部员工?

钉钉如何获取全部员工?

展开
收起
三分钟热度的鱼 2023-08-08 17:04:08 314 分享 版权
4 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。
    • 可以参考钉钉的获取在职员工列表接口

    image.png
    image.png

    2023-08-09 22:37:51
    赞同 展开评论
  • 要获取钉钉中的全部员工信息,您可以使用钉钉开放平台提供的通讯录相关接口来进行操作。以下是一般步骤:

    1. 注册应用并获得权限:在钉钉开放平台上注册一个企业自建应用,并获得相应的权限和授权。

    2. 获取access_token:通过调用GET /gettoken接口获取access_token。access_token是访问钉钉开放平台接口的凭证。

    3. 获取部门列表:使用GET /department/list接口获取所有部门的列表。该接口将返回部门的详细信息,包括部门ID、名称等。

    4. 递归获取员工信息:从根部门开始递归地遍历每个部门,使用GET /user/simplelistGET /user/listbypage接口获取每个部门的员工列表。这些接口可以根据部门ID获取对应部门的员工信息。

    5. 处理员工信息:在获取到员工列表后,您可以根据需要处理员工的各种信息,如姓名、职位、部门等。可以将这些信息保存到您的应用程序中,或进一步处理、展示等操作。

    请注意,在调用以上接口时,您需要使用正确的请求方式(GET、POST等)、参数和认证信息,并按照钉钉开放平台的规范进行调用。

    2023-08-08 21:43:25
    赞同 展开评论
  • 北京阿里云ACE会长

    钉钉可以通过以下接口来获取企业内的全部员工:

    获取部门员工列表
    Copy
    GET https://oapi.dingtalk.com/topapi/department/liststaffs?access_token={access_token}
    通过循环获取每个部门的员工列表,然后汇总,就可以获得全部员工。

    获取全量员工列表
    Copy
    GET https://oapi.dingtalk.com/topapi/smartwork/roster/get?access_token={access_token}
    直接调用全量员工列表接口,一次性获取所有员工。

    这两个接口的数据结构都是一样的:

    json
    Copy
    {
    "roster":[
    {
    "userid":"xxx",
    "name":"xxx",
    "department":[
    {
    "id": "1",
    "name": "xx部门"
    }
    ],
    "position":"xx",
    "orderInDept": 1,
    "email": "xxx@xx.com",
    ...
    }
    ],
    "total": 100
    }
    每个员工信息包括:

    userid:钉钉用户id
    name:姓名
    department:所属主部门
    position:职位
    email:邮箱
    ...
    两种接口的区别:

    部门员工列表:逐个部门获取,推荐部门人数少时使用
    全量员工列表:一次获取所有员工,部门人数多时效率更高

    2023-08-08 19:44:22
    赞同 展开评论
  • 通过调用接口方式,目前还获取不到全部员工信息,需要通过多个接口实现,详情参考文档。https://open.dingtalk.com/document/app/obtains-information-about-all-employees-of-an-enterprise 此回答整理自钉群“钉钉开发者社区(互助群)”

    2023-08-08 17:12:23
    赞同 展开评论