Се­год­ня столк­нул­ся со сле­ду­ю­щей пробле­мой: нуж­но бы­ло на­пи­сать XML-RPC сер­вер API для уда­лен­но­го пост­ин­га со­об­ще­ний, а так­же трах­ба­ков, пинг­ба­ков (по­ка еще не ре­а­ли­зо­ва­но, кам­мен­тов то не­ту) и про­чих wordpress-подоб­ных при­блуд. За­да­ча ока­за­лось не из про­стых да­же при на­личии в мо­ем ми­лом-лю­би­мом Codeigniter от­лич­но­го враппе­ра род­но­го для php xmlrpc мо­ду­ля. Но этот пост уже пи­шу из Bytescout Post2Blog, а зна­чит "всьо чотко". Вот как это вы­гля­дит на фли­кре.

Во­об­ще су­ще­ству­ет много вер­сий API для "оф­флайно­во­го бло­гин­га", это livejournal api, это blogger api, это metaweblog api и на­ко­нец movable type api. По крайней ме­ре, это все что я на­шел, воз­мож­но су­ще­ству­ют и дру­гие. Ин­тер­фейс Жажы очень прост: не под­дер­жи­ва­ет пост­инг с ка­те­го­ри­я­ми, за­то на­гру­жен вся­ки­ми функ­ци­я­ми френ­дов и их френдлент, что нам со­вер­шен­но не нуж­но. Blogger же, до по­куп­ки его гуглом, предо­став­лял очень мощ­ный и в то же вре­мя, очень про­стой про­то­кол. До­ку­мен­та­цию по ста­рым вер­си­ям мож­но по­смот­реть. По­сле погло­ще­ния гугл-им­пе­ри­а­лист пере­де­лал всю ав­то­ри­за­цию и про­то­кол под свой GData, ко­то­рый хоть и са­мый за­щи­щен­ный благо­да­ря вся­ким то­ке­нам, auth чек­су­мам, api клю­чам, но в то же вре­мя поеда­ет мозг сво­ей монстру­оз­но­стью сто­ло­вы­ми лож­ка­ми. На php шла прав­да го­то­вая биб­лио­тека, но шла под Zend, а зна­чит и этот ва­ри­ант отпал.

Оста­лись ме­та­блог vs. му­вабл тайп. Вы­бор сде­лал в сто­ро­ну пер­во­го. Хо­тя бы по­то­му что он под­дер­жи­ва­ет­ся все­ми кли­ен­та­ми и для вин­дов­са, и для ли­нук­са, и для ма­ко­са. А вот вто­рой та­ким по­хва­стать­ся уже не мо­жет. Сле­ду­ю­щим эта­пом был по­иск до­ку­мен­та­ции, офи­ци­аль­ный ма­ну­ал ни­хре­на не по­ня­тен: не­ту при­ме­ров запро­сов и от­ве­тов, все это на­пи­са­но не тех­ни­че­ским язы­ком, раз­го­во­ры о жиз­ни, смер­ти и вол­шеб­ном стан­дар­те RSS. Отлич­ная до­ку­мен­та­ция бы­ла найде­на на MSDN и это, по­жа­луй, впер­вые на мо­ей па­мя­ти, когда док от май­кро­соф­та ока­зал­ся по­лезным.

В ито­ге по­лу­чил­ся но­вый контрол­лер, ра­бо­то­способ­ность ко­то­ро­го вы и мо­же­те на­блю­дать. Код, как обыч­но, мож­но по­смот­реть в google project.