Как стать автором
Обновить

Комментарии 57

Fatal error: Call to undefined function _hash()
спасибо, поправил
Как раз думал о чём то подобном.
Я давно реализовал это на одном из сайтов, после нормального использования решил поделиться. Теперь в планах расширить функционал с возможностью публикации статусов-ссылок с картинками.
Для чего это может понадобиться?
Приведу конкретный пример, допустим, Вы — блогер, который время от времени публикует интересные статьи у себя на сайте и имеет профиль ВКонтакте. Если реализовать указанный выше механизм, то у подписчиков Вашей страницы ВКонтакте будут появляться оповещения в новостях о новых записях у вас в блоге — этакий вариант урезанной RSS-подписки :).
Если действительно интересные новости и не в промышленных масштабах, то это конечно на пользу.
Главное чтоб в итоге френдлента и новости не превращались с сплошную полосу спама и репостинга.
В этом случае всегда можно скрыть новости определенного человека, если спамит ваш друг или же отписаться от страницы вообще, если спамит она.
Дублировать новости еще и во ВКонтакте.
Ничего с ног сшибательного и архиполезного. Например тут(ни коим образом не реклама) человек одновременно транслирует хабр, башорг, ixbt и другие IT ресурсы.
И каким образом это связано с ВКонтакте? ;)
Ни коим, я просто привел пример того, для чего это может понадобиться.
Вы кардинально путаете принцип работы. Тут мы отправляем данные на ВК, а ваш пример демонстрирует противоположное, он забирает с сайтов (парсит).

Оффтоп: каким боком башорг IT ресурс? :)
Да, тут я не много запутался, каюсь.
Насчет баша — хорошо :) он был когда давным давно IT ресурсом.
Не понимаю, почему VK не сделали для этого API до сих пор.
Если судить по официальной страничке Хабра — сделали, просто общего доступа к нему нет.
А почему хук в функциях темы, а не плагином?
Вот тема обновится — и нету хука. А если делать чтоб был — надо Child делать. А чтобы в другой теме работало — туда тоже надо дописать. Плагином бы вышло лучше.
Когда-нибудь кто-нибудь напишет, не переживайте.
Не переживаю, меня не особо волнует кросспост во вконтакте. Просто меня удивило, что если идет интеграция с WordPress, то почему она идет именно так…
Ничего противозаконного тут нет, хочешь — пиши плагин, хочешь добавляй в свою тему, никто ж не указывает. Но я вот сейчас думаю как раз о том, чтобы закончить один плагин для WP, следующим пойдёт наверное, реализация этого плагина.
При чем здесь противозаконность?:)
Обычно на Хабр постят хорошие, правильные решения. А это — костыль фактически. Я ничего не скажу насчет внутреннего функционала взаимодействия с API (не работал с вконтакте), но меня удивляет, почему автор сделал это, но не оформил это нормально. Или хабр уже не тот?
Нда. )
Лучше бы авто вообще не касался вордпресса тогда.
Суть его статьи — не в том как сделать надстройку к WP — а в том, чтобы показать постинг на сайт вконтакте ж.
Лучше бы не касался, да :)
Я не ищу к чему придраться, а просто спросил почему. Дальше можно было вообще не спорить.
P.S. Надеюсь, ваш плагин с этим функционалом окажется в официальном репозитории WP.
Согласен, но пока что это наброски общей функциональности и говорить о плагине рано, да и Wordpress-реализация в статье — лишь небольшой пример возможности использования
Вы уверены что для этого нельзя использовать API? Вот например vkontakte.ru/developers.php?o=-1&p=wall.post
А так изменит вконтакт дизайн или какие-то внутренности и все отвалится…
Можно, однако, как я понял, для этого придется реализовывать приложение ВКонтакте или нет?
Эти методы для приложений. Сам был удивлен, что нет инструментов для импорта RSS во вконтакте, или же API для импорта новостей в группы и т.д.
Ну я этим методом пользовался когда писал плагин к Gwibber для поддержки вконтакта.

Единственное серьезное препятствие которое я заметил — сессионный токен привязан к IP адресу, поэтому получить сессию на домашнем компьютере и потом пользоваться ей на сервере не получится и это печально. Например в API Facebook можно получить так называемый «Оффлайн токен» и пользоваться им откуда угодно. Вконтакте такой штуки не нашел и это сильно ограничивает возможности применения API.
Если описанное в статье можно реализовать проще, то буду очень рад прочитать статью от Вас как это сделать :).
НЛО прилетело и опубликовало эту надпись здесь
А знали ли вы, что подобные действия запрещены правилами сайта.
Как и запрещено правилами 99% контента ВКонтакте? Да, знал :) Вообще там есть оговорка, что можно получить разрешение администрации, так что ничего невозможного я не вижу ;)
Хотел сделать подобное на своем проекте. Что бы «действие» пользователя появлялось у него на страничке. Остановила капча, с большим количеством людей им постоянно придется ее водить, а мне надо было автоматизировать. (попутно вопрос, ограничение на ресурс или на пользователя ВК?)

Было бы не плохо, чтоб когда будет полноценная апи, была возможность добавить сайт в разрешенные.
Тут без приложения и ВКонтакте API Вам не обойтись, там можно реализовать все функции без ограничения, если пользователя разрешит доступ к своей стенке приложению Вашего сайта
Спасибо. Своего рода костыль. Подожду немного, если нечего лучше не появится, так и сделаю. Надо написать в ВК, что бы они присмотрелись к твиттеру. Сам ВК это большая содранная идея, так почему бы не содрать и там :)
Доверять сайту со стороны ВКонтакте тоже просто так не будет, а с помощью приложения он сможет контролировать действия сайта и доступ к данным пользователей или их стенке.
Насколько я знаю, любой подключенный к ВК сайт может пользоваться теми же методами, что и flash и iframe приложения.

Через штуку, которая у них называет OpenAPI. Причем как с клиента, так и с сервера.
И премодерации нет никакой.

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

Видал я одну онлайн-игрушку, про мафию вроде, авторизовавшись в которой через Тви, сильно пожалел: эта дрянь заспамила мне всю ленту, 30+ постов. Задолбался потом удалять это гавно из ленты, и извинятся перед фоловерами.
Кажется многие через это прошли… )
Как раз недавно завел страничку компании. Группа как-то не совсем то, что нужно для присутствия в соц.сети и от нее наверно откажусь в пользу странички. Теперь с помощью вашего топика, думаю, окончательно автоматизирую постинг новостей (main_site → rss & twitter & vkontakte).
опробовала, занятно! теперь в мою группу Вконтакте вступает намного больше людей, чем обычно. Спасибо!
НЛО прилетело и опубликовало эту надпись здесь
старенькая статья, уже ничего не пашет :(((
не знаю, с момента написания этой статьи не менял в своих скриптах ничего — пока на всех сайтах работает как часы :)
Извините, наверное что-то применил не так, но вот переписав ф-ю авторизации, все вышло, на всякий случай приведу свой пример:
function _auth( $cookies ) {
$data=array(
'act'=>'',
'login'=>'',
'q'=>'1',
'al_frame'=>'1',
'captcha_sid'=>'',
'captcha_key'=>'',
'from_host'=>'vkontakte.ru',
'expire'=>'',
'email'=>'---YOU E-mail---',
'pass'=>'---YOU PASS---',
'success_url'=>'',
'fail_url'=>'',
'try_to_login'=>'',
'to'=>'',
'vk'=>'',
'al_test'=>'3'
);
$c = curl_init();
curl_setopt($c, CURLOPT_URL, 'http://vkontakte.ru/login.php'); // login.vk.com/?act=login
curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($c, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($c, CURLOPT_COOKIEJAR, $cookies);
curl_setopt($c, CURLOPT_POST, 1);
curl_setopt($c, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 6.1; ru; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13)');
curl_setopt($c, CURLOPT_POSTFIELDS, $data);
$r = curl_exec($c);
curl_close($c);
}
_auth('/home/lebnik/data/www/site.ru/cookies/cookies.txt');

Далее проверял не все функции, но переписал на свой лад _status() и все работает, поэтому спасибо за статью, сразу не въехал.
Подтверждаю все работает
А можно аналогичное реализовать для жумлы? Я не суперический программер совсем, но если меня в нужные места потыкать носом, то осилю. Уж больно хочется на сохранение статей повесить публикацию ссылок на них в группу. В идеале было бы здорово создавать отдельное обсуждение с текстом материала, но пусть хотя бы ссылка будет на стене.
Подскажите, пожалуйста, в чем может быть проблема: все публикуется, если указать стену пользователя, а если указать ID оф.страницы (ID с минусом), то выдает «Ошибка доступа»?
а post_hash какой используется?
да-да, в нем дело. Спасибо, я уже разобрался
Скрипт постит ко мне на страницу, а как его заставить постит в группу, в которой я являюсь админом?
Или я невнимателен?
Чтобы постить в группу нужно:
1. Быть админом
2. Записать ID группы
3. В параметрах вместо ID страницы друга указать ID группы, но со знаком "-", например, -1234
У меня вроде логин проходит, но эта маразматическая безопасность через мобильный телефон достает уже. Требует ввести последние 4 цифры после входа через курл, и как ему их подсунуть, я не очень понимаю пока.
А что передается в соответствующем POST запросе, когда вы ввели последние четыре цифры? Какой то хеш или цифры в прямом виде?
Да передавалось все нормально. Я нашел уже решение, где подсовывается этот код (в третьей части этой же серии статей). Но в итоге, продолбавшись целый вечер с курлом, все сделал через API ;-)
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.