Ошибка при выполнение запроса VK API

339
05 марта 2017, 09:05

Добрый вечер! Не понимаю, в чем может быть ошибка при выполнение запроса на редактирование объявления через API VK. Выдает вот такую вот ошибку:

Array ( 
  [error] => Array ( 
     [error_code] => 100 
     [error_msg] => One of the parameters specified was missing or invalid: data[ad_id] is invalid [request_params]
  )
)

Параметры беру верные, но почему-то не нравится data[ad_id] Вот так выглядит часть кода передающего data[ad_id]

$data = array(
        'access_token' => $token['access_token'],
        'account_id'   => 1602129376,
        'data'         => json_encode(array(
            'ad_id'  => 32266445,
            'name' => '111',
        ))
    );

Решение проблемы:

Ответила поддержка ВК. Нужно параметры передавать сразу в JSON, то есть с использованием json_encode не работает. В итоге передача параметров выглядит вот так:

$json = '[{"ad_id":32266445,"name":111}]';
$data = array(
        'access_token' => $token['access_token'],
        'account_id'   => 1602129376,
        'data'         => $json);

Всем большое спасибо за помощь.

Answer 1

Ага, ну да, логично. Не обратил внимания.

Ваш запрос рабочий с подстановкой JSON строкой:

$json = '[{"ad_id":32266445,"name":111}]';

А теперь разбираемся, почему он оказался рабочий. Для этого распакуем его обратно через json_decode и распечатаем в виде PHP-кода через var_export:

$json = '[{"ad_id":32266445,"name":111}]';
var_export(json_decode($json, true));

Получим

array (
  0 => 
  array (
    'ad_id' => 32266445,
    'name' => 111,
  ),
)

Ну вот и очевидный ответ - в data должен быть массив описаний объявлений, а у вас - сразу описание объявления. В PHP числовой массив и ассоциативный - одна и та же вещь, поэтому ошибка сразу в глаза не бросается.

Выводите детали запроса как можно ближе к непосредственному запросу, как уже будут отправлены по сети, а не как эти данные строятся.

READ ALSO
php функция mail

php функция mail

Осваиваю php, работаю на localhost (Denver) Пытаюсь отправить почту:

313
Что посоветуете как узнать какое номер присвоит база данных при добавление нового id

Что посоветуете как узнать какое номер присвоит база данных при добавление нового id

Что посоветуете, как узнать, какое номер присвоит поле id в базе данных при добавление нового idЯ добавляю новые данные из формы в таблицу, далее...

278
Контент записи в модальном окне (Wordpress + Visual Composer)

Контент записи в модальном окне (Wordpress + Visual Composer)

Есть сайт на Wordpress с плагином Visual ComposerНа главной странице есть блок Post Grid, который выводит два последних поста (простой блок с 3 элементами:...

520