开发者社区 问答 正文

钉钉有没有拉取某个时间点之后的所有变更事件的接口?

钉钉有没有拉取某个时间点之后的所有变更事件的接口?

展开
收起
三分钟热度的鱼 2023-08-08 16:55:58 86 分享 版权
3 条回答
写回答
取消 提交回答
  • 是的,钉钉开放平台提供了拉取某个时间点之后的所有变更事件的接口。该接口是钉钉企业内部应用所使用的事件订阅机制。

    您可以通过调用/topapi/message/corpconversation/asyncsend_v2接口来获取指定时间点之后的所有变更事件。在请求中,您需要提供一个起始时间点(如lastCursor),以便系统返回在该时间点之后发生的所有事件。

    具体的步骤如下:

    1. 获取access_token:首先,您需要通过调用GET /gettoken接口来获取access_token,作为访问钉钉开放平台接口的凭证。

    2. 构建请求参数:在调用/topapi/message/corpconversation/asyncsend_v2接口时,构建包含起始时间点的请求参数。将起始时间点(lastCursor)设置为您想要获取变更事件的开始时间。

    3. 发送请求:使用POST请求方式,将步骤2中构建的请求参数发送到/topapi/message/corpconversation/asyncsend_v2接口。在请求头中携带正确的access_token。

    4. 处理响应:根据接口返回的响应,解析其中的事件数据,并处理相应的变更事件。

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

    钉钉提供了获取自定时间点之后所有变更事件的接口,它是 seu_change.get_since 接口。

    使用方法如下:

    调用seu_change.get_since,传入since参数指定自定时间戳

    返回结果包含自定时间戳之后的所有变更事件

    返回事件会分批返回,需要循环调用直到没有更多结果为止

    示例代码:

    json
    Copy
    {
    "method": "seu_change.get_since",
    "since": 1514764800, //指定时间戳,单位秒
    "params":{
    ...
    },
    "id":1
    }
    接口会返回以下格式的结果,其中 changing_event_list 就是自定时间戳之后的所有变更事件列表:

    json
    Copy
    {
    "id": 1,
    "result": {
    "changing_event_list": [
    ...
    ],
    "has_more": true //是否还有更多结果需要再次拉取
    }
    }
    主要的变更事件包括:

    添加/修改/删除用户
    添加/修改/删除部门
    职位变更
    成员入离职
    等等
    通过这个接口,你就可以定期拉取自定时间点之后的所有钉钉变更事件,用于同步你存储系统中的用户和部门信息。

    2023-08-08 19:28:30
    赞同 展开评论
  • 没有,你自己要记录的。此回答整理自钉群“钉钉开发者社区(互助群)”

    2023-08-08 17:04:05
    赞同 展开评论