Ошибка вконтакте Invalid request: v (version) is required



  Скорее всего, что недавно у вас при автопостинге в группу вконтакте через апи с помощью скриптов перестали размещаться посты. А при попытке постинга получаете ошибку Invalid request: v (version) is required Это связано с тем, что vkapi обновили. Теперь для отправки любого запроса, необходимо добавлять обязательный параметр с версией API. Если его не содержится в запросе, то сервер вернет ошибку.

Обновление сентябрь 2021
Если вы столкнулись с ошибкой "VK Error. 8 Invalid request: versions below 5.81 are deprecated. Version param should be passed as "v". "version" param is invalid and not supported."
Значит вы используете запросы к API c версией, жизненный срок которой подошёл к концу, и перестал поддерживаться. Сервер вернёт ошибку на запрос к API, в котором указана устаревшая версия.
В большинстве случаев будет достаточно изменить в теле запроса старую версию на новую. Например, в плагине Easy Vkontakte Connect нужно в файлах:
easy-vkontakte-connect/inc/evc-api.php; easy-vkontakte-connect/evc-base.php
во всех местах заменить 'v' => '5.21'  на: 'v' => '5.81'
Это решит проблему с поддержкой минимально допустимой версии VK API и работа плагина возобновится.




Внимание! Далее приведена устаревшая информация, которая теперь неактуальна.
Похожая ситуация была ранее со сбоем плагинов была и ранее. Информация о ней ниже. 

Вот цитата из вконтакте:
"Если Вы не указывали номер версии (v) в своих запросах к API, Вам необходимо проверить ожидаемый синтаксис объектов в Вашем коде. Вам обязательно стоит включать в каждый свой запрос параметр v с указанием номера версии.
Мы не рекомендуем использовать в запросах номера версий ниже 5.0, поскольку старые версии (включая 3.0 и 4.0) в будущем перестанут поддерживаться.
Структура объектов и названия полей в версии 5.0 почти всегда отличаются от используемых в 3.0. Актуализировать свой код Вы можете на основе нашей документации. "

Если используете для автопостинга на стены скрипт на PHP. То в одном из файлов скрипта попробуйте найти похожую строку:
$json = file_get_contents('https://api.vk.com/method/' . $method . '?' . http_build_query($params));

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

$json = file_get_contents('https://api.vk.com/method/' . $method . '?' . http_build_query($params) . "&v=3.0");

Теперь осталось проверить или ошибка Invalid request v (version) is required исчезла и автоматический постинг в группу возобновился.

Актуальный рабочий скрипт PHP для автопостинга вконтакте на стену в группе или на странице вы можете взять на этой странице.

3 комментария:

Анонимный комментирует...

Отлично! Сделал поиск по файлам скрипта и нашел строку один в один. После замены всё заработало Спасибо!

Анонимный комментирует...

у себя не нашел такую строчку плагин vk-photos ошибка Invalid request: versions below 5.81 are deprecated. Version param should be passed as "v". "version" param is invalid and not supported. For more information go to https://vk.com/dev/constant_version_updates
подскажите где искать данную строчку ?

Evgen комментирует...

В файлах вашего плагина надо исправить старую версию API на новую 5.81. Пример с заменой в обновленном посте.