springboot项目调用github API做登录,通过有token

在我点击登录的时候,拿到了github返回的token,但是没有拿到user值。服务器给我返回了这个错误页面
5.png
当我走断点的时候发现这里面根本就没有值,所有服务器报错了。但是我token是拿到了的
3.png

// 请把代码文本粘贴到下方(请勿用图片代替代码)
//获取access_token post请求

public String getAccessToken(AccessTokenDto accessTokenDto){

//获取json格式的数据

MediaType mediaType = MediaType.get("application/json; charset=utf-8");

//okhttp做网络请求

OkHttpClient client = new OkHttpClient();

//响应体

RequestBody body = RequestBody.create(mediaType,JSON.toJSONString(accessTokenDto));

Request request = new Request.Builder()

.url("https://github.com/login/oauth/access_token")

.post(body)

.build();

try (Response response = client.newCall(request).execute()) {

String string = response.body().string();

String token = string.split("&")[0].split("=")[1];

return token;

} catch (Exception e) {

e.printStackTrace();

}

return null;

}

//获取user get请求

public GithubUser getUser(String accessToken){

OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()

.url("https://api.github.com/user?access_token="+accessToken)

.build();

try {

Response response = client.newCall(request).execute();

String string = response.body().string();

GithubUser githubUser = JSON.parseObject(string, GithubUser.class);

return githubUser;

} catch (IOException e) {

e.printStackTrace();

}

return null;

}

点击登录响应登录成功。
5.png
报错信息~~~~
m.m.a.ExceptionHandlerExceptionResolver : Resolved [com.alibaba.fastjson.JSONException: syntax error, expect {, actual error, pos 0, fastjson-version 1.2.57]
为什么会显示这个错误页面,是因为我拿到token之后,通过token去拿我的user并没有拿到此时的user应该是以json格式的数据返回来的,但是拿到的是一段错误的字符串也就是图中所显示的错误内容,所以json解析出错,登录不成功。我想知道的是当我拿到token的时候,我再通过token去拿user为什么会拿不到?
有些地方需要补充的,请大家尽管提!
希望能得到你们的帮助,我被这个问题给困住了

回答:

我也是这个问题,真不知道怎么解决

以上是 springboot项目调用github API做登录,通过有token 的全部内容, 来源链接: utcz.com/a/167021.html

回到顶部