有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java HttpGet无法正确设置标头

我正在开发Uber 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) 个答案

  1. # 1 楼答案

    标题为“授权”,值为“承载XXXX”。所以

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

    应该是

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