钉钉有没有拉取某个时间点之后的所有变更事件的接口?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
是的,钉钉开放平台提供了拉取某个时间点之后的所有变更事件的接口。该接口是钉钉企业内部应用所使用的事件订阅机制。
您可以通过调用/topapi/message/corpconversation/asyncsend_v2
接口来获取指定时间点之后的所有变更事件。在请求中,您需要提供一个起始时间点(如lastCursor),以便系统返回在该时间点之后发生的所有事件。
具体的步骤如下:
获取access_token:首先,您需要通过调用GET /gettoken
接口来获取access_token,作为访问钉钉开放平台接口的凭证。
构建请求参数:在调用/topapi/message/corpconversation/asyncsend_v2
接口时,构建包含起始时间点的请求参数。将起始时间点(lastCursor)设置为您想要获取变更事件的开始时间。
发送请求:使用POST请求方式,将步骤2中构建的请求参数发送到/topapi/message/corpconversation/asyncsend_v2
接口。在请求头中携带正确的access_token。
处理响应:根据接口返回的响应,解析其中的事件数据,并处理相应的变更事件。
钉钉提供了获取自定时间点之后所有变更事件的接口,它是 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 //是否还有更多结果需要再次拉取
}
}
主要的变更事件包括:
添加/修改/删除用户
添加/修改/删除部门
职位变更
成员入离职
等等
通过这个接口,你就可以定期拉取自定时间点之后的所有钉钉变更事件,用于同步你存储系统中的用户和部门信息。