企业微信通讯录开发教程

前言

  1. 了解企业微信帐号及、限体系

  2. 了解开发者可以开发哪些应用

  3. corp_id 每个企业都拥有唯一的ID【我的企业-企业信息获取】

  4. Secret 每一个·应用都有一个独立的访问密钥 (secret务必不能泄漏)【应用管理或管理工具获取】

  5. access_token 是应用调用api的凭证,由 corp_id和Secret换取

  6. 完整基本概念介绍

基于以上了解,开发的应用分类为:企业内部应用开发、第三方应用开发。通讯录被认为是企业微信内的一个应用,为了保证通讯录数据完整性,第三方应用没有写通讯录的权限。以下内容基于企业内部应用开发身份而说明(2022年8月10日)

通讯录

同步模式

  1. 应用程序向企业微信同步

  2. 企业微信向应用程序同步(需要配置接收事件服务器、提供回调接收服务)

配置说明

回调配置

回调配置(企业微信处理完成后调用应用程序,入参为xml格式,没有json格式,下载解密工具包时直接选择xml格式的)

接收事件服务器要求

同时满足GET、POST请求

GET:仅用于在应用创建配置应用信息时的验证,企业微信服务端会向回调URL发起一个 Get 请求,当该回调URL按照约定进行了响应后,表明第三方服务具备解析企业微信推送消息的能力

POST用于实际的业务请求,比如应用菜单的点击事件,用户消息等。当有回调的行为发生时,企业微信服务端会向该回调URL发起一个 Post 请求,同时数据会已加密的形式推送到该回调 URL,第三方服务商接受信息、解密信息,处理业务逻辑,并且按照约定进行响应即可

通讯录管理

通讯录管理(应用程序操作企业微信通讯录API,请求参数为json格式)

加解密说明

加解密说明官方提供的工具包(下载java xml版本)https://developer.work.weixin.qq.com/devtool/introduce?id=10128

接收事件服务器代码演示

调用企业微信api代码演示

回调请求数据示例

--创建  2次请求
<xml>
    <ToUserName>
        <![CDATA[wwf20cexxxx]]>
    </ToUserName>
    <FromUserName>
        <![CDATA[sys]]>
    </FromUserName>
    <CreateTime>1558850428</CreateTime>
    <MsgType>
        <![CDATA[event]]>
    </MsgType>
    <Event>
        <![CDATA[change_contact]]>
    </Event>
    <ChangeType>
        <![CDATA[update_user]]>
    </ChangeType>
    <UserID>
        <![CDATA[vvvv]]>
    </UserID>
    <Department>
        <![CDATA[1]]>
    </Department>
    <IsLeader>0</IsLeader>
    <IsLeaderInDept>
        <![CDATA[0]]>
    </IsLeaderInDept>
</xml>


------------------------------------
<xml>
    <ToUserName>
        <![CDATA[wwf20cexxxx]]>
    </ToUserName>
    <FromUserName>
        <![CDATA[sys]]>
    </FromUserName>
    <CreateTime>1558851428</CreateTime>
    <MsgType>
        <![CDATA[event]]>
    </MsgType>
    <Event>
        <![CDATA[change_contact]]>
    </Event>
    <ChangeType>
        <![CDATA[create_user]]>
    </ChangeType>
    <UserID>
        <![CDATA[vvvv]]>
    </UserID>
    <Name>
        <![CDATA[vvvv]]>
    </Name>
    <Mobile>
        <![CDATA[15045268636]]>
    </Mobile>
    <Gender>1</Gender>
    <Avatar>
        <![CDATA[https://rescdn.qqmail.com/node/wwmng/wwmng/style/images/independent/DefaultAvatar$73ba92b5.png]]>
    </Avatar>
    <Department>
        <![CDATA[1]]>
    </Department>
    <Status>4</Status>
    <IsLeader>0</IsLeader>
    <IsLeaderInDept>
        <![CDATA[0]]>
    </IsLeaderInDept>
    <MainDepartment>1</MainDepartment>
    <BizMail>
        <![CDATA[vvvv@xxx.wecom.work]]>
    </BizMail>
</xml>

编辑 只发送有变化的标签
<xml>
    <ToUserName>
        <![CDATA[wwf20cexxxx]]>
    </ToUserName>
    <FromUserName>
        <![CDATA[sys]]>
    </FromUserName>
    <CreateTime>1558860428</CreateTime>
    <MsgType>
        <![CDATA[event]]>
    </MsgType>
    <Event>
        <![CDATA[change_contact]]>
    </Event>
    <ChangeType>
        <![CDATA[update_user]]>
    </ChangeType>
    <UserID>
        <![CDATA[aaabbb]]>
    </UserID>
    <Email>
        <![CDATA[xxx@xxx.com]]>
    </Email>
</xml>
--删除
<xml>
    <ToUserName>
        <![CDATA[wwf20cexxxx]]>
    </ToUserName>
    <FromUserName>
        <![CDATA[sys]]>
    </FromUserName>
    <CreateTime>1558861428</CreateTime>
    <MsgType>
        <![CDATA[event]]>
    </MsgType>
    <Event>
        <![CDATA[change_contact]]>
    </Event>
    <ChangeType>
        <![CDATA[delete_user]]>
    </ChangeType>
    <UserID>
        <![CDATA[wangwen]]>
    </UserID>
</xml>

注意事项

  1. 账号是企业成员唯一标识,可以使用公司系统内统一ID

  2. 员工的手机和邮箱不能同时为空

  3. 企业微信根据手机号与邮箱验证唯一性

  4. 数据初始化:企业微信api没有提供批量创建的接口能力,可以使用批量导入功能

问题讨论

可能发生数据不一致问题

  • 企业微信未发送回调:

  • 接收服务宕机

  • 可能收到重复消息?

针对以上问题需要指定对应的处理方案 。

如果觉得内容有用请点赞收藏

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

as350144

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值