我一直试图获得FiBIT用户数据,但我陷入了中间。我会详细解释我的问题。
首先我得到了我的详细信息oauth 2.0客户端id客户端机密,
重定向uri:http://localhost:8043/login
当我的应用程序重定向到fitbit url时,用户可以成功获得授权、身份验证并重定向到我的应用程序重定向uri,即http://localhost:8043/login.
成功授权后我的url如下所示:
http://localhost:8080/login#access_token={user\u access\u token}和user\u id{user\u id}&scope=心率+营养+位置+个人资料+社交+睡眠+体重+活动+设置和token\u type=持票人和到期日\u in=604481
使用上述url,我如何获取用户信息?这是我的密码
@GetMapping(value="/login")
public String data1(HttpServletRequest request,@RequestParam(value="access_token", required=false) List<String> access_token,@RequestParam(value="user_id", required=false) List<String> user_id,
@RequestParam(value="scope", required=false) List<String> scope,@RequestParam(value="token_type", required=false) List<String> token_type,
@RequestParam(value="expires_in", required=false) List<String> expires_in
) throws IOException {
//System.out.println(usr);
String url="https://api.fitbit.com/1/user/-/profile.json";
String body= "#access_token="+access_token+"&"+
"user_id="+user_id+"&scope=+heartrate+nutrition+location+profile+social+sleep+weight+activity+settings&token_type=Bearer&expires_in=604481";
OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded");
RequestBody body1 = RequestBody.create(mediaType, body);
Request request1 = new Request.Builder()
.url(url)
.post(body1)
.addHeader("content-type", "application/x-www-form-urlencoded")
.addHeader("cache-control", "no-cache")
.build();
Response response = client.newCall(request1).execute();
return "got the data";
}
上面的代码是我尝试过的方法,但我没有成功,因为url有#参数,因此我可以访问url中的值。使用springboot还有其他方法解决我的问题吗?
如果可能,请使用springboot提供示例代码。
非常感谢。
暂无答案!
目前还没有任何答案,快来回答吧!