Как сформировать запрос методом execute в VK api?

195
29 мая 2019, 11:10

Прошу пояснить, никак не могу понять! Пробую себя в VK api, знания php поверхностные...

Загружаю информацию с помощью curl:

    function GetVK($url, $params) {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
    curl_setopt($ch, CURLOPT_HEADER, false);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    curl_setopt($ch, CURLOPT_IPRESOLVE, CURLOPT_IPRESOLVE_V4);
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_REFERER, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params));
    $result = curl_exec($ch);
    curl_close($ch);
    return $result;
}

Формирую запрос:

$code .= 'var out = API.users.get({...});'; 
$code .= 'var out = out + API.groups.getById({...});'; 
$code .= 'var out = out + API.stats.get({...});'; 
$code .= 'return out;';

Отправляю запрос

$execute = json_decode(GetVK('https://api.vk.com/method/execute', array(
    'code' => $code,
    'access_token' => mc_decrypt($_SESSION['UserInfo']['access_token'], ENCRYPTION_KEY),
    'v' => $System['api']['version']
)), true);

на выходе получил массив $execute['response'], получается на следующем уровне у меня 3 массива, которые соответствуют 3 моим запросам в порядке очереди!? Правильно? Просто меня терзают сомнения, что я не правильно делаю запрос и считываю данные...

Спасибо!

Answer 1

Может не совсем уловил суть вопроса, правильнее бы разделить массивы:

$code .= 'var users = API.users.get({...});'; 
$code .= 'var groups = out + API.groups.getById({...});'; 
$code .= 'var stats = out + API.stats.get({...});'; 
$code .= 'return {"users": users, "groups": groups, "stats": stats};';
READ ALSO
Показ банеров на сайте из txt файла

Показ банеров на сайте из txt файла

Помогите пожалуйста? На сайте надо показывать баннеры рекламы и есть код phpНо проблема ругается на строчку последнюю print "<a href="$item[2]"><img...

176
Добавление элемента в массив php

Добавление элемента в массив php

функция getSchoolById() возвращает объект, а функция getSchoolStaffById() возвращает массив, как мне добавить объект в массив

163
Доступ по ключу к массиву из json

Доступ по ключу к массиву из json

Есть код, который берёт данные из json в массив, но при обращении по ключу к такому массиву доступ по ключу не работает

191
Передача данных в POST через ссылку

Передача данных в POST через ссылку

Имею такой ответ сервера при регистрации пользователя,ловил через Fiddler:

169