微信钉钉错误码对照表

  • 文档创建者:April陶
  • 编辑次数:1次
  • 最近更新:April陶 于 2021-03-17
  • 1. 概述

    当插件日志出现 error 级别的日志的时候(非代码 Exception,例如 npe,没办法给出建议),给用户提供一个错误码和一个url,引导用户到解决方案页面查询错误原因。

    2. 错误码对照表

    2.1 微信插件

    微信插件错误码说明如下:

    错误码
    错误说明排查方法
    21001单点登录 url 中 sb 参数缺失sb 参数是插件用来判断是哪个应用正在单点登录的,缺少sb参数则会导致单点登录失败,请检查单点登录链接中有没有带上sb参数,如果是自行构造的链接,则需要把fine_weixin_agent表中 id 列拼上"weixin"再经过 md5 编码得到 sb 参数
    21002微信用户被禁用了微信用户如果处于被禁用状态,会导致单点登录失败,请去微信解除用户的禁用状态
    21003获取微信用户详细信息失败网络异常,请参考 24001 的排查方案
    21004获取微信用户 userid 失败网络异常,请参考 24001 的排查方案
    21005决策平台中用户不存在单点登录中,微信用户匹配到的平台用户不存在,请检查是否在平台中创建了用户。
    21006手机号匹配模式下,微信用户没有设置手机号导致单点登录失败请检查微信的用户是否设置了手机号
    21007决策平台用户被禁用了请去决策平台的用户管理中解除禁用状态
    21008手机号匹配模式下,决策平台用户没有设置手机号导致单点登录失败请检查决策平台用户是否设置了手机号
    21009手动匹配失败请检查fine_weixin_user_releation表中是否存在单点登录用户的匹配关系
    21010数据集匹配失败请检查数据集中是否存在单点登录用户的匹配关系
    21011没有找到数据集,单点登录失败请检查数据集是否可用
    21012单点登录匹配失败

    确认匹配关系设置是否正确

    可参考对应文档:微信管理插件4.3 成员管理

    22001推送的应用缺失检查一下fine_weixin_agent表中需要推送的应用是不是已经被删除了,如果被删除了,请重新创建一个应用
    22002未知的消息类型如果是从 8.0 升级上来的定时调度,则数据库中可能会有未知推送类型的消息,在 9.0 以及 10.0 中这些消息被默认当成链接消息推送
    22003调用微信上传文件接口失败可能是接口调用超频,此时查看日志中微信返回的信息是否提示超频了。如果有报错,则参考网络异常 24001 的排查方案
    22004推送的图片附件没能找到检查WEB-INF/assets/temp_attach下面是否有定时调度中上传的图片。如果没有的话,需要重新编辑定时调度上传一次图片
    22005读取文件失败推送文件消息的时候,请核查WEB-INF/schedule/${taskname}/${data}/${time}/${username}下是否存在定时调度生成的结果附件
    23001应用类型不正确请检查当前同步的应用中是否存在管理组秘钥应用( 2018 年之前建立的微信老应用)
    23002获取部门列表失败请检查应用中是否设置了可见部门,如果设置了,请参考网络异常 24001 的排查方案
    23003获取标签列表失败请检查应用中是否设置了可见标签,如果设置了,请参考网络异常 24001 的排查方案
    23004获取可见标签失败请检查应用中是否设置了可见标签
    23005获取部门详细信息失败请参考网络异常24001的排查方案
    23006获取部门成员失败请参考网络异常24001的排查方案
    23007生成手机号匹配关系的时候,平台用户为空手机号匹配关系是手机号匹配推送必须的,请检查平台用户是否为空
    23008获取标签成员失败请参考网络异常24001的排查方案
    24001网络异常
    • 如果日志中报出 connection refused 字样的错误,说明当前服务器网络是无法与外网建立连接的。

      可以通过“curl https://qyapi.weixin.qq.com/cgi-bin/gettoken”来验证,如果有返回内容,则说明外网可以连通,如果没有返回内容,则说明外网无法连通。

    • 如果日志中报出 UnKnownHostException: qyapi.weixin.qq.com,则说明当前服务器所在网络的 dns 解析服务器无法解析微信的域名地址。

    • 如果需要使用 nginx 代理转发的方式才可以访问外网,请参考文档:代理服务器配置,最后将设置好的代理地址填入「微信管理>快捷配置」中。

    • 如果当前服务器所在网络使用的是系统代理,则需要在 web 容器中指定 jvm 参数:-Dhttp.proxyHost=代理地址 -Dhttp.proxyPort=端口

    • 最后说明一点:如果微信插件报网络异常的错误,则可以通过邮件通知来测试是不是真的是服务器无法访问外网导致的

    24002无法获取 token

    在确保服务器网络可以连通外网的前提下,

    1)请检查当前应用里面是否有 secret 或者 corpid 填写错误的应用。

    2)请检查无法获取 token 的应用是否已经在微信管理后台被删除了。

    3)请确保 fine_weixin_agent 表中不存在管理组秘钥的应用(即 type 字段为 1 的应用)

    2.2 钉钉插件

    钉钉插件错误码说明如下:

    错误码
    错误说明排查方法
    41001单点登录 url 中 sb 参数缺失sb 参数是插件用来判断是哪个应用正在单点登录的,缺少 sb 参数则会导致单点登录失败,请检查单点登录链接中有没有带上sb参数,如果是自行构造的链接,则需要把fine_dingtalk_agent表中 id 列拼上"dingtalk"再经过 md5 编码得到 sb 参数
    41002获取钉钉用户详细信息失败网络异常,请参考 44001 的排查方案
    41003获取钉钉用户 userid 失败网络异常,请参考 44001 的排查方案
    41004决策平台中用户不存在单点登录中,钉钉用户匹配到的决策平台用户不存在,请检查是否在决策平台中创建了用户
    41005手机号匹配模式下,钉钉用户没有设置手机号导致单点登录失败请检查钉钉的用户是否设置了手机号
    41006决策平台用户被禁用了请去决策平台的用户管理中解除禁用状态
    41007手机号匹配模式下,决策平台用户没有设置手机号导致单点登录失败请检查决策平台用户是否设置了手机号
    41008手动匹配失败请检查fine_dingtalk_user_releation表中是否存在单点登录用户的匹配关系
    41009数据集匹配失败请检查数据集中是否存在单点登录用户的匹配关系
    41010没有找到数据集,单点登录失败请检查数据集是否可用
    41011单点登录匹配失败

    确认匹配关系设置是否正确

    可参考对应文档:钉钉管理插件2.10 成员管理

    42001推送的应用缺失检查一下fine_dingtalk_agent表中需要推送的应用是不是已经被删除了,如果被删除了,请重新创建一个应用
    42002未知的消息类型如果是从 8.0 升级上来的定时调度,则数据库中可能会有未知推送类型的消息,在 9.0 以及 10.0 中这些消息被默认当成链接消息推送
    42003调用钉钉上传文件接口失败可能是接口调用超频,此时查看日志中钉钉返回的信息是否提示超频了。如果有报错,则参考网络异常 44001 的排查方案
    42004推送的图片附件没能找到检查WEB-INF/assets/temp_attach下面是否有定时调度中上传的图片。如果没有的话,需要重新编辑定时调度上传一次图片
    42005读取文件失败推送文件消息的时候,请核查WEB-INF/schedule/${taskname}/${data}/${time}/${username}下是否存在定时调度生成的结果附件
    43001当前应用中没有可见范围的应用如果钉钉的应用可见范围勾选了部分可见,则需要手动指定好可见部门才可以在钉钉插件成员管理中进行同步
    43002获取可见范围内的部门信息失败网络异常,请参考 44001 的排查方案
    43003获取部门的详细信息失败网络异常,请参考 44001 的排查方案
    43004获取部门的子部门列表失败网络异常,请参考 44001 的排查方案
    43005获取部门成员列表失败网络异常,请参考 44001 的排查方案
    44001网络异常
    • 如果日志中报出connection refused字样的错误,说明当前服务器网络是无法与外网建立连接的。

      可以通过“curl https://oapi.dingtalk.com/gettoken”来验证,如果有返回内容,则说明外网可以连通,如果没有返回内容,则说明外网无法连通。

    • 如果日志中报出UnKnownHostException: oapi.dingtalk.com,则说明当前服务器所在网络的dns解析服务器无法解析钉钉的域名地址。

    • 如果需要使用 nginx 代理转发的方式才可以访问外网,请参考文档:代理服务器配置,最后将设置好的代理地址填入「钉钉管理>快捷配置」中。

    • 如果当前服务器所在网络使用的是系统代理,则需要在 web 容器中指定 jvm 参数:-Dhttp.proxyHost=代理地址 -Dhttp.proxyPort=端口

    • 最后说明一点:如果钉钉插件报网络异常的错误,则可以通过邮件通知来测试是不是真的是服务器无法访问外网导致的。

    44002无法获取token在确保服务器网络可以连通外网的前提下,请检查当前应用里面是否有 secret 或者 appKey 填写错误的应用


    附件列表


    主题: 移动端
    • 有帮助
    • 没帮助
    • 只是浏览
    • 评价文档,奖励 1 ~ 100 随机 F 豆!

    售前咨询电话

    400-811-8890转1

    在线技术支持

    在线QQ:800049425

    热线电话:400-811-8890转2

    总裁办24H投诉

    热线电话:186-0252-2339