@nolouds

Как исправить ошибку «client_id incorrect» и получить данные из vk api?

Нужно получить данные по этому 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 + "]";
    }
    
}
  • Вопрос задан
  • 1016 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы