融云服务端用户注册获取Token之1002错误

本文记录了解决融云服务端用户注册时遇到1002错误的过程。首先,查阅官方文档确认app-key无误,然后尝试了更改https到http,对头像URL编码,但问题依然存在。最终发现错误在于请求参数和header混淆,正确做法应将key、时间戳、签名和随机数设为header,用户id、昵称和头像作为参数。修正代码后问题得到解决。
摘要由CSDN通过智能技术生成

错误信息如下:

{"url":"/user/getToken.json","code":1002,"errorMessage":"invalid App-Key."}

先看官网文档 融云sdk服务端-用户注册文档:https://docs.rongcloud.cn/v3/views/im/noui/guide/private/user/register/serverapi.html

我第一反应以为是app-key不对,然后仔细核对了app-key,发现并没有问题,而官网文档没有提供1002错误码的更多说明,所以emmm~~~百度走起。

之前有人说是因为https和http的原因 我从https换成http发现还是有问题(其实觉得应该和https没啥关系,但是没有找到原因 死马当活马医了给),也有其他博客说可能是url没有编码导致的,然后参数中的头像也进行了编码,测试发现还是上诉错误。

然后仔细研究了一些官方提供的接口文档,发现自己写错了!!!!注意看官方给的请求格式:

POST /user/getToken.json HTTP/1.1
Host: api-cn.ronghub.com
App-Key: uwd1c0sxdlx2
Nonce: 14314
Timestamp: 1408710653491
Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8
Content-Type: application/x-www-form-urlencoded

userId=jlk456j5&name=Ironman&portraitUri=http%3A%2F%2Fabc.com%2Fmyportrait.jpg

key ,时间戳,签名,随机数这些是header,用户id,昵称,头像才是参数 而我之前都作为参数进行请求了,所以会出现1002错误。

附最新代码:

package com.net.api;

import java.util.List;
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.Map;

import org.apache.commons.codec.digest.DigestUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import com.alibaba.fastjson.JSON;
import com.net.entity.Users;
import com.net.mapper.UsersMapper;
import com.net.utils.HttpUtil;
import com.net.utils.RETINFO;
import com.net.utils.RandomUtil;
import com.net.utils.StringUtil;


/**
 * 用户相关业务
 * @author zhangq
 *
 */
@RestController
@RequestMapping("/api/users")
public class UsersController {

    
    //定义在配置文件中的属性名
	@Value("${ro
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值