Автоматическое оповещение читателей о новостях с помощью ВКонтакте
Те из вас, кто пользуется социальной сетью ВКонтакте и подписан на
официальную страничку Хабры в ней, заметили, что все новые топики с
главной появляются на страничке в виде сообщений-ссылок:
Так
вот, если у вас есть свой блог и вы хотите на своей личной страничке
публиковать такие же сообщения-ссылки автоматически — топик может быть
вам интересен. Сегодня мы попробуем публиковать простые сообщения
ссылки, а далее добавлять к ним «превью»-картинки.
Реализация
Итак, для работы нам понадобится PHP с подключенным модулем curl. Для взаимодействия с сайтом ВКонтакте нам потребуется проходить авторизацию на нем, а так же получать значение уникальной переменной posthash, которая передается при публикации каждой записи на вашей стенке.
В качестве единственной переменной функции мы передаем путь до файла с cookies, где сохраняем данные авторизации. В дальнейшем, при заходе на свою страничку, мы будем проверять авторизованы ли мы и если нет, то повторно запускать данную функцию.
Теперь нам необходима функция для получения id текущего пользователя, значения его posthash переменной, а также значение переменной id из блока handlePageParams, которая определяет какой пользователь в данный момент просматривает страницу — если он равен 0, то значит мы не авторизованы и необходимо обратиться к выше приведенной функции. Итак:
В результате мы получим массив с тремя переменными, которые необходимы нам для работы. Теперь осталось реализовать функцию создания сообщения ссылки. За публикацию сообщений на вашей стенке отвечает файл al_wall.php, который имеет множество получаемых параметров и в зависимости от каждого может создавать различные сообщения. Для нас наиболее важными будут следующие параметры:
act — собственно action для данного php файла, мы передаем значение post hash — тот самый post_hash, который мы получили ранее message — наше сообщение, не длиннее 255 символов, иначе произойдет создание заметки note_title — название заметки, если выше вы превысили лимит символов status_export — параметр, определяющий «Экспорт в твиттер», если таковой аккаунт у вас связан с ВКонтакте to_id — id пользователя на чью стенку мы публикуем сообщение type — пока что обнаружены два возможных значения, all — публикация на вашей стенке, feed — публикации в вашем разделе Новости (блок «Что у вас нового») media_type — тип сообщения, ставим share, чтобы получить ссылку url — передаваемый нами url ссылки title — название вашей ссылки, ограничение в 81 символ description — всплывающее описание ссылки, сюда можно передавать, например, первые строчки вашей новости, ограничение в 255 символов
На основе этих данных напишем функцию создания сообщения:
Функция вернет нам ответ сервера ВКонтакте — это будет либо текст ошибки, либо последние 10 сообщений со стенки, которые можно обработать по своему усмотрению. Собственно работа с сервером ВКонтакте закончена, осталось написать общую функцию, которая будет проверять авторизацию, получать переменные и создавать сообщение.
Теперь можно использовать ее где угодно, на любом движке. Или же создать отдельный php файл, через который публиковать любые ссылки со своим описанием у себя на стенке. В качестве примера я покажу интеграцию с движком Wordpress, где при публикации записи в блоге, вы автоматически опубликуете ссылку на нее. Итак, необходимо все вышеприведенные функции перенести в functions.php, который находится в каталоге с вашей темой, если его там нет, то создайте его. Затем в него же допишем следующую функцию и определим ее как хук:
Немного пояснений. Дело в том, что экшен publish_post в Вордпресс отрабатывается не только когда вы нажимаете кнопку Опубликовать в админке, но и при каждом сохранении записи. Получать каждый раз ссылку, когда вы редактируете свою запись после публикации, конечно же не комильфо. Поэтому при удачной публикации ссылки к нашему посту добавляется пользовательское поле vkontakte со значением 1, а перед публикацией проверяется ее наличие — если оно существует и содержит 1, то функция vkPost пропускается.
Заключение
Вот так мы получили возможность взаимодействовать с ВКонтакте и быть более интерактивными. Конечно же правильнее было бы оформить все служебные функции в отдельный класс, инициализацию curl объединить, а затем просто подключать этот класс в работе, но сделать это самому не сложно, а целью было показать каким образом это можно реализовать. Так же нужно помнить, что ВКонтакте вряд ли пропустит ваш запрос без использования прокси сервера. Позже можно добавить и вставку картинки в данную ссылку, но это уже история другого топика.
Стоит так же заметить, что al_wals.php запросит дополнительный параметр captcha, если ваш скрипт будет слишком усердно посылать статусы или вообще вернет «Ошибка доступа» — поэтому в рассылке спама этот метод вряд ли вам поможет.
Приветствую Вас! Осуществим качественную рассылку Ваших рекламных объявлений в Формы обратной связи FeedBack.
Рассылка объявлений по формам обратной связи на сегодняшний день является самым продуктивным методом донесения информации потенциальным клиентам. Рассылка Ваших предложений, товаров, услуг, и т.д. в FeedBack не заставит себя долго ждать, новые клиенты уже сегодня. Для рассылки в наличии имеются базы различных стран мира, наши базы постоянно пополняются! Осуществляем рассылку по RU, EN и другим базам.
По завершению рассылки Вам будет отправлен (файл) отчет о проделанной работе со списком всех веб ресурсов, на которые было отправлено Ваше рекламное объявление!
Первые результаты уже в течении нескольких часов!
Внимание! 3 дня действует скидка 50%, после чего цены возрастут!