HttpGet无法正确设置setHeader

时间:2016-08-27 02:18:05

标签: java curl uber-api

我正在使用优步API并尝试使用here

中的说明获取用户个人资料

以下curl命令工作正常,可以从uber获取用户信息:

curl -H "Authorization: Bearer YOUR_ACCESS_TOKEN" "https://api.uber.com/v1/me"

但是,我的Java代码无效 - 但从服务器接收401响应

HttpGet httpGetRequest = new HttpGet("https://api.uber.com/v1/me");
httpGetRequest.setHeader("Authorization: Bearer", accessTokenModel.getAccess_token());
HttpResponse httpResponse = client.execute(httpGetRequest);
response.getWriter().println("httpget response:" + httpResponse.getStatusLine().getStatusCode());

知道为什么我的GET请求收到错误。 我也尝试了HttpGet addHeader方法来添加标题但结果相同。

1 个答案:

答案 0 :(得分:2)

标题是"授权"价值是" Bearer XXXX"。所以

httpGetRequest.setHeader("Authorization: Bearer", accessTokenModel.getAccess_token());

应该是

httpGetRequest.setHeader("Authorization", "Bearer " + accessTokenModel.getAccess_token());