Куда смотреть? (апи постинг в группе)

371
28 ноября 2016, 18:46

Ребят прошу помощи, так как не могу понять как реализовать постинг на стене в группе..

Как делать посты в группе с сервера стороннего, перечитал всю документацию в вк, но чего то мне не хватает, какой то детали, потому что ничего не работает и вообще...

Нужно приложение делать стандалон что ли??

Я наивно полагая, что все легко и просто, пробежавшись по документации и найдя подходящее описание, решил отправить запрос с сервера следующего содержания

file_get_contents("https://api.vk.com/method/wall.post?owner_id=-."$id_group".&message=."$message".&from_group=1&access_token=."$token".&v=5.60");

И конечно же ничего не получилось, потому что этот метод вообще не для групп...

Поискав в методах group. ничего подобного я не нашел.. и совсем потерялся, начал искать инфу, нашел про то что надо делать через приложение..

в общем объясните мне недалекому КАК это вообще работает, где об этом узнать больше и вообще покажите правильный курс

Огромное человеческое спасибо!

Answer 1

Нужно приложение делать стандалон что ли??

Да. Пользоваться методом wall.post со стороны сервера могут только приложения типа standalone.

Я наивно полагая, что все легко и просто, пробежавшись по документации и найдя подходящее описание, решил отправить запрос с сервера следующего содержания

С самим запросом к API у вас все в порядке, просто у вас опечатка в коде. Ваш код:

file_get_contents("https://api.vk.com/method/wall.post?owner_id=-."$id_group".&message=."$message".&from_group=1&access_token=."$token".&v=5.60");

А должно быть так:

file_get_contents('https://api.vk.com/method/wall.post?owner_id=-' . $id_group . '&message=' . $message . '&from_group=1&access_token=' . $token . '&v=5.60');

Вы точки засунули внутрь строки, поэтому они участвовали не как оператор конкатенации, а как просто символ "точка".

Но рекомендуется использовать функцию http_build_query() для построения query-строки, т.к. это выглядит более элегантно и она делает URL-кодирование символов:

$parameters = http_build_query([
    'owner_id'     => -$id_group,
    'message'      => $message,
    'from_group'   => 1,
    'access_token' => $token,
    'v'            => '5.60',
]);
$request = file_get_contents('https://api.vk.com/method/wall.post?' . $parameters);

Но вместо функции file_get_contents() лучше использовать библиотеку cURL (чем-то похожа на jQuery AJAX по настройкам). Но если копать еще глубже, то, как по мне, верх удобства и продуктивности - это клиент Guzzle.

READ ALSO
Построение дерева на php

Построение дерева на php

Существует база данных с информацией об узлах сетиУ некоторых узлов есть дочерние узлы, а у тех в свою очередь могут быть еще дочерние

407
Синтаксис типа …$guards

Синтаксис типа …$guards

Что значит синтаксис типа public function handle($request, Closure $next,

436
ошибка в foreach

ошибка в foreach

Здравствуйте тут на форуме дали подсказку но она с ошибкой суть скрипта такая что б он заносил каждую запись в новую строку ошибка Parse error:...

365