Постинг вконтакте php

paveldurovПроанализировав документацию API Vkontakte, я пришел к выводу, что Api вконтакте не позволяет программно постить на стену группы сообщения. По крайней мере простого способа это сделать не предусмотрено.

Думаю, это сделано как раз для того, чтобы не засорять паблики автоматическими сообщениями. Тем не менее, сложный способ это сделать есть. Постить на стену вконтакте можно, комбинируя использование API Vkontakte с использованием симуляцией пользователя.

Фактически, нужно создать видимость, что пользователь авторизовался в нашем приложении и разрешил приложению от лица этого самого пользователя отправить запись на стену своей группы. Вот такие пляски с бубном, господа.

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

Алгоритм работы класса с пабликом(группой) примерно такой

  • Авторизуем наше приложение.
  • Авторизуем пользователя вконтакте через Oauth.
  • Принимаем нашим пользователем запрос на разрешение действий от его лица.
  • Отправляем через API от нашего пользователя через наше приложение.

Довольно запутанно, правда? Представьте каково мне было : ). По сути, главная проблема, что
API VK не позволяет приложению самостоятельно совершать каких-либо манипуляций на сайте vkontakte,
оно должно служить прослойкой между пользователем и vkontakte, нет пользователя = нет api.

И наш сайт сидит одновременно на двух стульях — пользователь и приложение VK.

Что нужно делать?

Дабы облегчить себе жизнь и не тратить на изобретение велосипеда свое драгоценное время, рекомендую скачать и использовать этот класс.

Собственно, класс создавался для репоста нашего сайта ebash.org на паблик vk.com/ebash_org, так что там можете посмотреть, как он работает.

Для работы вам потребуется три вещи:

  1. Группа вконтакте
  2. Iframe-приложение вконтакте (обязательно standalone)
  3. Пользователь вконтакте

При создании объекта Vkontakte, нужно ввести следующие данные, которые у вас должны быть или вам следует их получить:

  • id группы vkontakte —
  • id приложения
  • api_secret приложения
  • логин пользователя vkontakte
  • пароль этого пользователя

Как использовать класс Vkontakte?

Вместе с самим классом есть файлик example.php, в идеале, достаточно будет использовать реализованный в нем метод.

Скачать сам класс можно здесь:

https://github.com/superkozel/vk-repost

Пока на паблике есть сообщения от сегодняшнего дня, класс работает. Надеюсь он вам поможет : )

24 комментария к “Постинг вконтакте php”
  1. shedy 07.02.2013
  2. shedy 07.02.2013
  3. shedy 07.02.2013
    • superk 07.02.2013
      • shedy 07.02.2013
  4. shedy 07.02.2013
    • superk 07.02.2013
      • shedy 08.02.2013
  5. Александр 18.10.2013
    • superk 14.01.2014
  6. Volodymyr 20.10.2013
  7. Олег 10.12.2013
    • superk 14.01.2014
  8. Денис 30.01.2014
    • Денис 30.01.2014
  9. Александр 12.02.2014
  10. Иван 26.02.2014
  11. Александр 13.03.2014
  12. Александр 13.03.2014
  13. Тимур 14.11.2014
  14. Вован 24.01.2016
    • superk 24.01.2016
      • Вован 25.01.2016

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