网易云信Demo-注册400

今天初次使用网易云信...

下载demo后正式入坑

启用注册后 会弹出 toast  : 400:appkey不是demo指定的key

原因:

Demo使用专用的Appkey,注册过程需要访问Demo专用的应用服务器。 
开发者更换Demo代码中的Appkey之后,Demo的应用服务器无法识别开发者的Appkey所以会注册失败。 
可能提示:{errmsg: "appkey不是demo指定的key", res: 400}。 
同理,Demo获取聊天室列表也是向Demo的应用服务器请求获取。 
因此,开发者如需参考Demo进行修改,除更换AppKey外,还应搭建相应的应用服务器,向开发者自己的应用服务器获取所需的信息。

同理:

  • 返回302 (账号密码错误)

    可能的原因包括但不限于:
    • 该AppKey下无此accid
      • 调用IM服务端API https://api.netease.im/nimserver/user/create.action创建网易云通信ID时,网易服务器会将accid统一小写处理,请以此接口返回的accid为准。SDK登录时也应将accid全部字符小写。
      • 如果不确定accid是否存在,可以尝试调用IM服务端API https://api.netease.im/nimserver/user/update.action更新网易云通信ID,由于此时仅用于测试账号是否存在,因此只需传入accid不要传入其他参数,如果返回{"code": 200}说明该accid存在,如果返回{"desc": "... not register", "code": 414}说明该accid不存在。
    • accid和token不对应。调用SDK登录接口时,调试打印传入的accid和token,检查是否和创建/更新accid后服务器中的信息一致。
    • 修改Demo进行登录体验时未去除md5加密。Demo对token进行了md5加密,修改Demo进行登录体验时,不仅要修改Demo的AppKey,还需要去除对token的md5加密。
    • 如果无法确认accid和token的有效性,请调用IM服务端API https://api.netease.im/nimserver/user/update.action更新为指定的token,或者https://api.netease.im/nimserver/user/refreshToken.action更新并获取新token。 
      这两个API的区别如下:
      • API [网易云通信ID更新]https://api.netease.im/nimserver/user/update.action可以传入指定的token。请求成功后,网易服务器用开发者传入的token来更新服务器上保存的token。
      • API [更新并获取新token]https://api.netease.im/nimserver/user/refreshToken.action不能传入token,只能由网易服务器生成随机的token返回给开发者。
  • 返回408 (连接超时)

    可能的原因包括但不限于:
    • 网络连接异常
    • Android SDK 4.3.0及之前的版本,没有对于Android 8.0以上系统版本的适配,登录时可能出现408,请更新到最新版本SDK。
  • 返回414

    可能的原因包括但不限于:
    • 如果在控制台 > 应用 > App Key管理 > 标识管理,选中了「进行标识安全验证:当请求登录的客户端App标识不在以上列表中时,登录请求将被拒绝」,当客户端App标识(iOS Bundle Identifier / Android Package Name)不在配置的列表中,登录接口会返回414。

 

你可能感兴趣的:(网易云信Demo-注册400)