Интеграция с ЖЖ
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.
В планах — интеграция с контактом. А также надо что-то придумать с комментами. И с картинками. Ну и исправление багов всего этого, разумеется.
25.11.2010 Четверг 09:14
Вот он, звериный оскал программизма-паразитизма.
Лет, эдак, 60 назад, послал бы я тебя, Виталий, на исправительные работы. Нет, не на уборку снега в Сибири. А дорабатывать напильником программы, приносящие пользу людям. Например, Полегляд.
25.11.2010 Четверг 12:38
А от чего меня исправлять, тов.Дынин?
25.11.2010 Четверг 16:06
Я же написал - от программизма-паразитизма.
25.11.2010 Четверг 16:10
Давай разовьём эту тему. :) А дорабатывание напильником Полегляда — это не паразитизм? (Правда, у меня смутное ощущение, что мы это уже обсуждали.)
25.11.2010 Четверг 17:50
Я волком бы выгрыз паразитизм,
к дот-нетам доверия нету,
К любым чертям с матерями катись любая программа, но эту...
я достаю из широких сетей дата-копию бесценного "взгляда",
Читайте! Завидуйте! я программист Советского Полеглада!
"Откройте мне хоть одну внеземную цивилизацию - и я сразу реабилитирую Джордано Бруно!". Папа.Римский ->
|
25.11.2010 Четверг 17:52
О, круто.