获取FitbitAPI用户信息

dgsult0t  于 2021-10-10  发布在  Java
关注(0)|答案(0)|浏览(213)

我一直试图获得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提供示例代码。
非常感谢。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题