【问题标题】:Spring RestTemplate gives 401 Authorization Required while getting data from TwitterSpring RestTemplate 在从 Twitter 获取数据时提供 401 Authorization Required
【发布时间】:2016-06-29 00:11:07
【问题描述】:

我正在尝试使用 Spring RestTemplate 获取 Twitter 推文。我的代码如下:

    public static void main(String[] args) {

    RestTemplate restTemplate = new RestTemplate();

    org.springframework.http.HttpHeaders httpHeaders = new org.springframework.http.HttpHeaders();

    String url = "https://api.twitter.com/1.1/search/tweets.json q=java";        
    String headerName = "Authorization";
    String headerValue = OAUTH_PARAMETERS
    httpHeaders.add(headerName, headerValue);
    httpHeaders.add("Content-Type", "application/json");
    HttpEntity<String> requestEntity = new HttpEntity<>("Headers", httpHeaders);
    System.out.println(">>>>>>>" + restTemplate.exchange(url, HttpMethod.GET, requestEntity, String.class).getBody());
}

我收到以下错误:

线程“main”中的异常 org.springframework.web.client.HttpClientErrorException:401 需要授权 org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:91) 在 org.springframework.web.client.RestTemplate.handleResponse(RestTemplate.java:641) 在 org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:597) 在 org.springframework.web.client.RestTemplate.execute(RestTemplate.java:557) 在 org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:475) 在 com.lftechnology.amlf.screening.service.impl.BalanceMediaSearchResultServiceImpl.main(BalanceMediaSearchResultServiceImpl.java:202)

【问题讨论】:

  • 如果下面的答案解决了您的问题,请告诉我们。

标签: java spring resttemplate


【解决方案1】:

您似乎在标题中设置了错误的参数。试试这个:

httpHeaders.set("Authorization","Bearer " + accessToken);

注意 Bearer 后面的空格很重要。

【讨论】:

    猜你喜欢
    • 2018-02-09
    • 1970-01-01
    • 2022-11-13
    • 1970-01-01
    • 2017-08-02
    • 2017-06-30
    • 1970-01-01
    • 1970-01-01
    • 2013-06-09
    相关资源
    最近更新 更多