Навигация

Итоги года

Другие ссылки


Реклама

Счётчики


Интеграция с ЖЖ

24.11.2010 Среда 22:23

Так, время 22:20 — я в офисе. А всё потому, что решил сделать для блога интеграцию с ЖЖ. С самого утра работаю. Вот только сейчас закончил. Теперь все посты, которые появляются на www.raxxla.com, будут также появляться в моём акаунте в ЖЖ:

http://netcrawler.livejournal.com/

Пока интеграция осуществляется лишь на уровне постов. Комменты в ЖЖ и на Раксле независимые. Что делать с комментами — буду думать позже.

Кому интересно — технические детали. Выяснилось, что ЖЖ имеет интерфейс, основанный на стандарте XML-RPC. Это примерно как SOAP (веб-сервисы), только не SOAP. Попроще слегка. Стал искать какие-нибудь библиотеки для работы с XML-RPC под .Net. Выяснилось, что их немного. Я из активно-разрабатываемых обнаружил вообще только одну, с незатейливым названием XML-RPC.Net.

Стал пытаться использовать эту библиотеку. Вы не поверите, но её пришлось дорабатывать напильником! Во-первых, выяснилось, что ЖЖ возвращает нестандартный в рамках спецификации XML-RPC ответ, и библиотечный вызов падает. Почитал документацию по библиотеке; выяснилось, что есть параметр, который, вроде как, должен помирить её с нестандартным ответом ЖЖ. Но и с этим параметром не заработало! Стал смотреть исходники библиотеки и нашёл там ошибку в обработке этого параметра! Исправил, откомпилячил — ошибка исчезла. Whew.

Но появилась другая. Выяснилось, что в интерфейсе ЖЖ один из параметров называется "event". Точнее, самый главный параметр — тот, в котором передаётся текст поста. А "event" — это зарезервированное слово в C#, и функцию с таким параметром откомпилировать не удаётся. Вроде нашёлся атрибут под названием XmlRpcParameter, который, вроде бы, должен давать возможность задать имя для параметра, которое будет использоваться в результирующем XML, генерируемом библиотекой и отправляемом на сервер ЖЖ. Но оказалось, что он игнорируется! Опять же доработал код библиотеки напильником, чтобы имя бралось из атрибута если он присутствует. И вот тогда постинг в ЖЖ наконец-то заработал. Правда, пришлось ещё освоить авторизацию методом "challenge". Но это оказалось существенно более простым делом чем исправление двух багов.

В общем, с сегодняшнего дня кроме Ракслы пишу также в ЖЖ. Но основным ресурсом, безусловно, по-прежнему является Raxxla.com.

В планах — интеграция с контактом. А также надо что-то придумать с комментами. И с картинками. Ну и исправление багов всего этого, разумеется.

#1 тов.Дынин
25.11.2010 Четверг 09:14

Вот он, звериный оскал программизма-паразитизма.
Лет, эдак, 60 назад, послал бы я тебя, Виталий, на исправительные работы. Нет, не на уборку снега в Сибири. А дорабатывать напильником программы, приносящие пользу людям. Например, Полегляд.

#2 Escaper
25.11.2010 Четверг 12:38

А от чего меня исправлять, тов.Дынин?

#3 тов.Дынин
25.11.2010 Четверг 16:06

Я же написал - от программизма-паразитизма.

#4 Escaper
25.11.2010 Четверг 16:10

Давай разовьём эту тему. :) А дорабатывание напильником Полегляда — это не паразитизм? (Правда, у меня смутное ощущение, что мы это уже обсуждали.)

#5 тов.Коллега
25.11.2010 Четверг 17:50

Я волком бы выгрыз паразитизм,
к дот-нетам доверия нету,
К любым чертям с матерями катись любая программа, но эту...
я достаю из широких сетей дата-копию бесценного "взгляда",
Читайте! Завидуйте! я программист Советского Полеглада!

"Откройте мне хоть одну внеземную цивилизацию - и я сразу реабилитирую Джордано Бруно!". Папа.Римский ->

#6 Escaper
25.11.2010 Четверг 17:52

О, круто.