Автопостинг в группу Vk

Опубликовано: 29 Июл 2015

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

1 шаг. Создаем приложение.

Переходим по ссылке – https://vk.com/dev и выбираем “Создать приложение”
Поле Название – любое название
Тип - Standalone-приложение
После чего предложит подтвердить либо через смарт либо через смс.
После чего вы попадаете в редактирование приложения
Выбираете группу (Важно! Вы должны быть админом группы, иначе приложение не позволит туда постить)
Сохраняете изменения

2 шаг. Получаем токен

Получаем код

https://oauth.vk.com/authorize?client_id=ИД_ПРИЛОЖЕНИЯ&scope=offline,wall,groups,photos&redirect_uri=http://vk.com/blank.html&response_type=code

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

https://oauth.vk.com/access_token?client_id=ИД_ПРИЛОЖЕНИЯ&client_secret=ЗАЩИЩЕННЫЙ_КЛЮЧ&code=КОД_С_ПЕРВОЙ ССЫЛКИ&redirect_uri=http://vk.com/blank.html

 Получаем

{"access_token":"много разных символов, это он и есть","expires_in":0,"user_id":Ваш id}

3 шаг. Собственно сам плагин (называется post) (системное событие OnDocPublished)

$access_token = "сюда ставим токен";
$group_id = "-id группы, куда постим";
$e = $modx->event;
$id = $e->params['docid'];
$txt =$modx->getDocument($id);
$tvs = $modx->getTemplateVar('image', '*', $id);-> image – название tv для картинки, которое нужно предварительно создать.
$tv=$tvs['value'];
$src=urlencode("домен сайта".$tv);
$url = $modx->makeUrl($id);
$text=urlencode($txt['introtext']."домен сайта".$url);-> инфа для соц.cетей ставится в поле Анотация
$sRequest = "https://api.vkontakte.ru/method/wall.post?owner_id=".$group_id."&access_token=".$access_token."&message=".$text."&attachment=".$src;
// ответ от Вконтакте
$oResponce = json_decode(file_get_contents($sRequest));

Чтобы отправить  пост в контакт в дереве ресурсов на нужном документе правой кнопкой и выбираем «Опубликовать»

Комментарии (2)

  1. светлана:
    15.02.2016г. в 23:18

    добрый день. подскажите,куда вводить сам плагин (post)?
    image – название tv для картинки, которое нужно предварительно создать. - где и как создать?

  2. Наталья:
    18.02.2016г. в 14:35

    Здравствуйте. Элементы - Новый плагин называете его post и копируете туда код. image - Элементы - Новый tv называете его image и присваиваете нужному шаблону.


Оставить комментарий




Разрешённые теги: <b><i><br>Добавить новый комментарий: