SeoLik

20 мая 2020, 21:07
458

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

1. Вам нужно создать Standalone-приложение, у которого нет ограничений на выполнение API для публикации сообщений в группу этой социальной сети. После создания приложения вам понадобится ввести код из смс, который нужно подтвердить. После успешного ввода ваше приложение будет создано и вам нужно включить приложение (изменить его состояние), а так же скопировать ID приложения и Защищённый ключ.

создание приложения вконтакте

настройка приложения вк

2. Теперь для выполнения API вам потребуется получить оffline access token, который генерируется следующим запросом прямо в браузере:

https://oauth.vk.com/authorize?client_id=app_id&scope=groups,wall,offline,photos&redirect_uri=https://oauth.vk.com/blank.html&display=page&response_type=token

Где app_id — ID вашего приложения. При переходе по такой ссылке, ВКонтакте запросит доступ, разрешите ему.

 

При успешном переходе по данному адресу вы получите значение access_token на странице заглушки (https://oauth.vk.com/blank.html), его скопируйте и сохраните. Не кому не показывайте access_token!

токен вк

3. Теперь вам понадобиться ID вашей группы ВКонтакте. ID группы можно узнать по https://vk.com/public12345678, где в данном случае id является: 12345678. Если у вашей группы адрес вида https://vk.com/name, то зайдите в любой альбом группы и в адресной строке браузера вы увидите подобное этому album-55044319_182468078 где 55044319 и есть ID вашей группы.

4. Ну и осталось только написать php код, который и будет делать постинг:

// массив параметров
$params = array(
'v' => '5.103', // версия вк апи
'scope' => 'wall,photos,video', // доступ к стене,фото,видео
'access_token' => 'XXXXXXXXXXXX', // тут ваш access_token
'owner_id' => '-55044319', // ID ГРУППЫ С ОБЯЗАТЕЛЬНЫМ ЗНАКОМ "-" ПЕРЕД ЧИСЛОМ!
'attachments' => 'https://seolik.ru/', // ссылка на вашу страницу, которая будет расшарена на вашей стене группы
'message' => 'Любой ваш текст' // тут текст который будет в карточке расшаривания, если оставить пустым то будет дублировать title со страницы в параметре attachments
);
	
	
$url = 'https://api.vk.com/method/wall.post?' . http_build_query($params);

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$response = curl_exec($ch);
curl_close($ch);
	
print_r($response);

// при успешном ответе будет {"response":{"post_id":283}}, только с вашим post_id

Ссылки по теме: