Нужно получить данные по этому URL. Создал приложение вк, ввел вместо client_id айди своего приложения и в браузере вручную все работало:
https://oauth.vk.com/authorize?client_id=1&display=page&redirect_uri=http://example.com/callback&scope=friends&response_type=token&v=5.131
Затем попробовал в Postman сделать get запрос и получил ошибку 401Unauthorized.
И в самом Spring тоже самое: 401 Unauthorized: "{"error":"invalid_client","error_description":"client_id is incorrect"}".
Я уверен, что id ввел верно, перепроверял дважды. Вот код:
@SpringBootApplication
public class BlogApplication {
private static final Logger log =
LoggerFactory.getLogger(BlogApplication.class);
public static void main(String[] args) {
SpringApplication.run(BlogApplication.class, args);
RestTemplate restTemplate = new RestTemplate();
Map<String, String> uriVariables = new HashMap<String, String>();
uriVariables.put("client_id", "Здесь мой id, палить не буду, но он написан правильно 100%");
uriVariables.put("display", "page");
uriVariables.put("redirect_uri", "http://vk.com");
uriVariables.put("scope", "friends");
uriVariables.put("response_type", "token");
uriVariables.put("v", "5.131");
Access access = restTemplate.getForObject("https://oauth.vk.com/authorize", Access.class, uriVariables);
log.info(access.toString());
}
}
Access.java (А это просто модель объекта, который хочу получить), создал три поля, так как после запроса я должен получить три единицы данных в ответе они написаны как "access_token", "expires_in", "user_id".
@JsonIgnoreProperties
public class Access {
private Long token;
private String expiresIn;
private String userId;
public Access() {}
public Long getToken() {
return token;
}
public void setToken(Long token) {
this.token = token;
}
public String getExpiresIn() {
return expiresIn;
}
public void setExpiresIn(String expiresIn) {
this.expiresIn = expiresIn;
}
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
@Override
public String toString() {
return "Access [expiresIn=" + expiresIn + ", token=" + token + ", userId=" + userId + "]";
}
}