开发者社区> 问答> 正文

关于钉钉与企业的通讯录同步及回调的问题

情景:
      当本地的系统后台修改人员信息,接着调用钉钉通讯录的人员更新API接口去更新对应人员的信息,由于设置了通讯录的URL回调,导致又会回调告诉本地系统某某人员改掉了;
问题:
      我们本地接收到通讯录回调的时候,我们不知道是不是这个人已经在本地修改过了,只能再把这个人的信息再更新一遍,我们本地有个人员轨迹记录表,就会有两条同一个人的修改记录
      PS: 这是我们的同步机制,可能其他公司有更好的同步机制,所以过来问一下,钉钉官方人员能不能给我们一些处理的意见
            或者:当我们去调用更新人员的API接口的时候,就不要再回调了,因为是本地先做的修改


      PPS: 之前我们有考虑过先更新钉钉,钉钉回调url  时我们再更新本地,这样本地只更新一遍,但是我们本地有些资料是钉钉端没有的

展开
收起
王de先生 2017-06-29 11:29:14 10142 0
3 条回答
写回答
取消 提交回答
  • 1、本地修改员工信息
    2、取消钉钉的回调接口注册
    3、调用钉钉的api,更新钉钉的员工信息
    4、恢复回调接口的注册

    -------------------------

    回 6楼(王de先生) 的帖子
    请你找出比这个更严谨的方法。
    2017-07-18 10:00:15
    赞同 展开评论 打赏
  • 丫丫丫丫丫丫丫丫丫
    1.如果想要彻底解决这个办法,需要一个traceid的概念。 由一方发起的请求的链路请求都带上这个标识。回调也回传这个标识。  但是现在并没有这个东西。所以技术上处理起来确实困难。2.不推荐先更新钉钉然后再更新本地。因为一旦回调失败。包括钉钉、网络、本地的失败,都会造成数据不同步。
    3.我这边建议每次通过钉钉获取数据的时候和本地比较一下。如果数据相同。就忽略本次修改。。  没有想到更好的办法(⊙o⊙)…
    2017-07-03 16:08:28
    赞同 展开评论 打赏
  • 看来要自己顶一下了

    -------------------------

    回 2楼蛋蛋oo蛋蛋的帖子
    1和2我们也都否决了,  也只剩下3,但是我们没做数据对比,直接粗暴的本地又更新了一遍...

    -------------------------

    回 2楼蛋蛋oo蛋蛋的帖子
    其实还有更简单的方案,本地发起的数据更新,成功了就不要再URL回调了。。。多走这一步干嘛呢

    -------------------------

    回 5楼seahouse的帖子
    这....也可以?  但是觉得不严谨啊
    2017-06-30 13:56:56
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

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