状态码/错误码-跨平台SDK

更新时间: 2023/08/18 08:53:59

跨平台SDK状态码

网易云信Unity SDK,Cocos2d-x SDK,Linux SDK状态码均可参考以下状态码说明。

code 详细描述
登录错误码
20002 正在登录或者已经处于登录状态,不需要再调用登录接口
登录状态
1 已登录状态
2 未登录状态
会话消息错误码
10200 发送文件消息,NOS上传暂停
10206 到文件消息,NOS下载暂
10404 本地资源不存在
10414 收到消息,资源下载地址无效,无法下载
10417 收到消息,本地资源已存在,不需要重复下载
10450 调用api,传入的参数有误
10502 发送消息,上传NOS失败
消息历史关错误码
10600 导入消息历史时验证身份和加密密钥不通过
10601 导入消息历史时写记录失败
聊天室错误码
10001 需要重新向IM服务器获取进入聊天室权限
语音模块错误码
100 操作失败
101 未初始化或初始化失败
102 正在播放中,操作失败
103 正在采集中,操作失败
104 采集设备初始化失败(e.g. 找不到mic设备)
105 采集或播放对象不存在
106 文件保存失败
107 播放文件不存在
108 采集数据过程中出错
109 播放过程中出错

状态码详解

用户名或密码错误302

当客户端SDK执行登录后,回调状态码302时,请检查当前的AppKey、accid(accout)与token三者是否一一对应。较常见的原因如:token不正确或不是最新、该AppKey下无此accid等。
详情参见关于IM登录失败-返回302

非法操作或没有权限403

当执行非法操作时,会返回状态码403。常见的非法操作如下:

  • 如果网易云信控制台配置非好友不允许发消息,客户端SDK向非好友发消息会返回403。
  • 聊天室业务中,要将管理员变成普通用户,直接取消其管理员权限即可。不能直接将管理员设置为 普通成员,否则可能会返回403。
    聊天室业务中,只有创建者可以对管理员进行操作,管理员不能对创建者和其他管理员进行操作,否则可能会返回403。
  • 第三方回调业务中,如果第三方回调功能不放行某条消息,则发送方SDK会回调返回403。
    被好友拉黑后,给对方发消息,也会先进行第三方回调。如果不放行,SDK会返回403;如果放行,SDK会返回7101。
  • 如果账号已经退群或者被踢出群,尝试群消息撤回时,会返回403。但是在撤回时长范围内,管理员仍然可以通过客户端撤回其他已被踢出的普通群成员发送过的消息。
  • 当前AppKey对应的云信应用已关停时,调用IM服务端API会返回{"desc": "app is forbidden", "code": 403}。
  • 当调用IM服务端API,且传入的昵称、签名等信息命中了反垃圾(例如:涉政、违禁、广告等),会返回{"desc": "forbbiden info", "code": 403}。
  • 互动白板业务中的文档转码上传功能里,文档相关信息只能由上传者自己查询,其他账号查询会返回403。
  • IM服务端API群组相关接口只适用于高级群与超大群,不适用于普通群/讨论组。若需操作普通群/讨论组,请通过客户端SDK接口进行。否则会返回{"desc": "no support", "code":403}。
  • 若双方无好友关系,则调用更新好友相关信息的接口将会返回403。

在未开通/启用某项功能前,调用相应的接口也会返回状态码403。常见的情况如下:

  • 未开通事件订阅(常用于在线事件订阅)的情况下,使用相关功能,会返回403。
  • 当前应用无收发IM消息的权限(在控制台会有相应提示),当调用发消息的接口时,会返回403。
  • 删除漫游消息时,如果应用下没有开启消息漫游功能,调用相关接口会返回403。

对象不存在404

当调用接口回调出404状态码后,请检查传参是否正确,常见的情况如:

  • 必传参数为空时,可能会回调404。
  • 传入的参数实际不存在。如传入实际上未注册过的accid,不存在的群id等。

客户端请求超时408

当调用接口回调出408状态码后,请检查当前所处的网络是否正常。常见的情况如:

  • 网络连接断开后,调用联网请求接口,此时会回调408。
  • 在未成功登录的情况下,调用联网请求接口。
  • Android SDK 4.3.0及之前的版本,没有对于Android 8.0以上系统版本的适配,登录时可能出现408,请更新到最新版本SDK。

参数错误414

当调用接口回调出414状态码后,请检查传参是否正确。常见的情况如:

  • 传参的数据类型与接口要求不一致。
  • 如果在控制台 > 应用 > App Key管理 > 标识管理,选中了进行标识安全验证:当请求登录的客户端App标识不在以上列表中时,登录请求将被拒绝,当客户端App标识(iOS Bundle Identifier / Android Package Name)不在配置的列表中,登录接口会返回414。
  • 当调用服务端接口,并传入未注册过的accid时,也会回调414。
  • 聊天室业务中,如果聊天室被关闭,查询聊天室消息历史会返回414。例如:调用IM服务端API「聊天室云端历史消息查询」会返回{"desc": "check roomid", "code": 414}。
  • 如果消息被反垃圾命中,尝试撤回时,会返回错误码414。
  • 不能添加自己为好友,否则返回414。
  • 调用短信相关接口时,若开发者传入的参数不符合JSON格式会返回{"code": 414, "msg": "'mobiles' / 'params' should be json format"},请更正。
  • Web SDK中,群已读回执功能里,参数teamMsgReceipts为数组格式,数组元素上限数50,超过会返回414。
  • 调用IM服务端API时返回{"desc":"bad http headers", "code":414},可能是校验信息错误。关于校验信息,请点此查看
    [注意] 计算CheckSum时使用的是AppSecret而不是AppKey。
  • 返回{"desc": "CurTime is illegal", "code": 414}/{"desc": "CurTime is expired", "code": 414},表示传入的CurTime参数与当前UTC时间戳不一致(超前或滞后)。可能原因是:
    • 开发者没有实时动态获取当前UTC时间戳。
    • 应用服务器配置的时区和时间与实际不一致。
  • 返回{"desc":"body not json", "code":414}。IM服务端接口请求Content-Type为application/x-www-form-urlencoded,请对参数值进行urlencode,避免特殊字符造成解析失败。
  • 返回{"desc":"retry again", "code":414}。调用创建网易云信IM账号并发创建账号时,不同的请求传入相同的accid参数可能返回此错误。
  • 创建普通群时,至少要传入两个成员账号,否则会返回错误代码414。
  • 如果群主账号被封禁后,再调用服务端API解散群,会返回{"desc": "check accid001", "code": 414}。
  • 聊天室相关API返回{"desc":"parameter roomid should be long","code":414},可能原因包括但不限于:
    • 开发者对roomid参数的值进行了误编码,例如PHP中对其进行json_encode可能导致出现此报错。
  • 对于更新聊天室信息,如果只传入roomid、needNotify和notifyExt,而没有传入其它任何需要更新的参数,则会返回{"desc": "no valid param provided, skip update!", "code": 414}。
  • 调用调用创建网易云信IM账号时,返回{"desc": "Exceed the maximum account XXX", "code":414}。可能原因有:
    • IM免费版账号数上限数为100个。
    • IM专业版试用到期。IM专业版试用期间账号数无上限,试用到期后上限数降为100个。若需继续使用IM专业版,请在控制台开通正式版。

重复操作417

  • 客户端自动登录时,回调417。可能原因参见自动登录返回417
  • 创建多人音视频房间,回调417.可能原因参见关于多人音视频/互动直播房间的注意事项
  • IM服务端API设置聊天室内用户角色返回{desc:"duplicate...", code:"417"},可能原因包括但不限于:
    • 重复操作,例如已经设置某角色之后再次设置,或者已经取消某角色之后再次取消。
    • 设置不当,例如对非管理员角色取消管理员,或者对非聊天室成员进行操作等。

没有权限802

  • 调用IM SDK主动退群接口,返回802。高级群的群主不能直接退群,可以先转让群再退群,或者直接解散群。
  • 普通群获取群成员,返回802。可能原因包含但不限于:
    • 普通群刚加入的新成员是处于未激活状态的(暂不属于该群),当收到群内消息后,该新成员会自动激活,激活后才可以调用「获取群成员」的接口。
  • 调用将群组整体禁言接口设置或解除群组禁言时,如果muteType传入3,表示禁言整个群(包括群主)。这种情况下如果SDK/客户端若再尝试调用禁言接口,会返回802。
此文档是否对你有帮助?
有帮助
去反馈
  • 跨平台SDK状态码
  • 状态码详解
  • 用户名或密码错误302
  • 非法操作或没有权限403
  • 对象不存在404
  • 客户端请求超时408
  • 参数错误414
  • 重复操作417
  • 没有权限802