
Имея pidgin и жаббер акк на xmpp.ru я захотел получить всех друзей из вконтакта в ростер.
То что вышло из этого смотрим под катом
Итак для начала я стал искать решение наиболее коротким путем — поиском плагина для pidgin, чтобы использовать vkontakte как обычный протокол общения. К сожалению подобного плагина я найти не смог (
Даже ничего похожего на разработку. оно и видно, пидгин почему то не очень жалуется пользователями рунета. Обидно блин.
Тогда я пошел с другой стороны — вспомнил что протокол jabber силен не только независимостью от компании AOL но и такой замечательной вещью как транспорты. Поиски в инете мало к чему привели и тогда я стал искать в группах самого вконтакта и нашел очень даже неплохой проект под неблагозвучным названием pyvk-t.
На свой jabber сервер я не стал устанавливать это ПО, тк у меня используется OpenFire, к которому очень проблематично прикручивать какие либо транспорты если они изначально не прикручены разработчиком, поэтому я пошел по пути наименьшего сопротивления — использовать готовые серваки с транспортами.
На страничке pyvk-t есть небольшой список серваков, держащих этот транспорт:
eqx.su
hartois.info
games.onego.ru
zoo.dontexist.net
первый из них является оф сервером разработчиков, на котором постоянно тестируются новые версии, из за которых периодически ничего не работает :) Поэтому методом проб и ошибок я пришел к серверу zoo.dontexist.net, как наиболее стабильному из всех.
Еще я обнаружил досадный косяк pidgin'a — отсутствие обзора сервисов джаббер сервера, видимо многопротокольность дает о себе знать :(. если кто знает — как реализовать в пидгине обзор сервисов — коменьте плз.
Поэтому для добавления транспорта я использовал другой jabber клиент (psi+)
Жмем General — Service Discovery
вводим имя сервера (zoo.dontexist.net)
ищем в списке vkontakte.ru transport, правой кнопкой — register. вводим свой емайл и пароль для доступа вконтакт, жмем REGISTER
(для других клиентов схема аналогичная)
После всех манипуляций в нашем ростере появится транспорт вконтакта, откроем окно общения с ним и наберем /login
после чего транспорт «входит» вконтакт
набираем /get roster UPD
после чего в группу General добавятся все ваши друзья из вконтакта, надо будет дать всем авторизацию или заранее настроить чтобы клиент давал авторизацию всем.
в общем все готово. выходим из psi заходим в pidgin, все контакты видны, все прекрасно работает.
у транспорта есть еще некоторые настройки (типа оповещений о добавлениях в группы итд) чтобы их просмотреть наберите /config
для изменения оных наберите /config имя_переменной,1
1 — true, 0 — false
это моя первая статья, пожалуйста сильно не пинайте ногами.