Java 如何进行OAuth 2 API调用并获得响应

Java 如何进行OAuth 2 API调用并获得响应,java,spring,spring-mvc,spring-boot,oauth-2.0,Java,Spring,Spring Mvc,Spring Boot,Oauth 2.0,我想创建一个Spring引导应用程序,它将通过OAuth2进程调用API 我已经查过了,但有人能用一种简单的方式给我解释一下吗 我所拥有的只是URL(获取承载令牌)、客户机ID和客户机机密 一旦检索到承载令牌,我希望得到实际API调用,并将检索到的承载令牌放入报头中,因此我得到响应。在Spring中, 您可以使用restemplate.exchange方法进行API调用 由于API是使用OAuth2.0访问令牌(承载令牌)保护的, 令牌必须在“授权”头中传递 请尝试下面显示的代码,使用标头请求进

我想创建一个Spring引导应用程序,它将通过OAuth2进程调用API

我已经查过了,但有人能用一种简单的方式给我解释一下吗

我所拥有的只是URL(获取承载令牌)、客户机ID和客户机机密

一旦检索到承载令牌,我希望得到实际API调用,并将检索到的承载令牌放入报头中,因此我得到响应。

在Spring中, 您可以使用
restemplate.exchange
方法进行API调用

由于API是使用OAuth2.0访问令牌(承载令牌)保护的, 令牌必须在“授权”头中传递

请尝试下面显示的代码,使用标头请求进行API调用:

String url = "https://you-api-url";
RestTemplate restTemplate = new RestTemplate();

// set the headers 
HttpHeaders headers = new HttpHeaders();
headers.add("Authorization", "Bearer " + token_value); 

HttpEntity entity = new HttpEntity(headers);

// send the GET request
HttpEntity<String> response = restTemplate.exchange(url, HttpMethod.GET, entity, String.class);

// display the response
System.out.println("Response" + response.getBody());
stringurl=”https://you-api-url";
RestTemplate RestTemplate=新RestTemplate();
//设置标题
HttpHeaders=新的HttpHeaders();
标题。添加(“授权”、“持有人”+令牌值);
HttpEntity=新的HttpEntity(标题);
//发送GET请求
HttpEntity响应=restTemplate.exchange(url,HttpMethod.GET,entity,String.class);
//显示响应
System.out.println(“Response”+Response.getBody());

希望有帮助

您的问题缺少要调用的API的细节。您的API使用哪种授权类型?如果您收到的承载令牌是访问令牌,那么这就足以进行API调用。本教程可能很有用-1这是错误的。您不应该将“client_secret”作为头发送到目标API。OAuth的思想是使用clientId/secret请求承载令牌。然后使用该承载令牌调用安全API。为此,您需要使用OAuth2RestTemplate。看到或