10
Мар
2017

Код ошибки 17: Validation required (VK API)

После получения code от VK, получаю access_token.

https://oauth.vk.com/access_token?client_id=%s&client_secret=%s&code=%s&redirect_uri=%s

После этого, я пытаюсь получить данные от пользователя

https://api.vk.com/method/users.get?user_id=".$data-user_id."&access_token=token&fields=photo_50&v=5.68

Но в этот момент, VK возвращает ошибку #17:

object(stdClass)#2 (1) {
["error"]=>
object(stdClass)#18 (4) {
["error_code"]=>
int(17)
["error_msg"]=>
string(65) "Validation required: please open redirect_uri in browser 95232901"

["redirect_uri"]=>
string(69) "https://m.vk.com/login?act=security_check&api_hash=4a959bd2a476aea3fc"
}
}

Но, если я беру публичные данные, которые не требуют ключа, то всё хорошо

https://api.vk.com/method/users.get?user_id=".$data-user_id."&fields=photo_50&v=5.68

В общем ошибка вылетает тогда, когда пытаюсь взять данные пользователя с ключом доступа.


https://vk.com/dev/need_validation

В сообщении об ошибке передается также следующий параметр: redirect_uri — специально составленный адрес, который необходимо открыть в браузере для прохождения процедуры валидации.

Но проблема в том, что когда пользователя перекидывает по ссылке в redirect_uriон жмет кнопку "подтверждаю валидацию", и после это VK перекидывает пользователя сюда

VK автоматически проверяет пользователя через JS-скрипт, и перекидывает по конечной ссылке:

https://oauth.vk.com/blank.html#success=1&access_token=fsdf312fds4213321f&user_id=12345

И здесь нету back_url на мой сайт, а мне нужно считать access_token, и user_id. Как это сделать, если VK уже перекинул пользователя на страницу проверки, а потом уже на другой адрес?

Источник: https://ru.stackoverflow.com/questions/637640/%D0%9A%D0%BE%D0%B4-%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B8-17-validation-required-vk-api

Тебе может это понравится...

Добавить комментарий