Опять кросспостнинг

|
Сделал почти человеческий кросспостинг в ЖЖ.

В чем оказалось дело?

Плагин Crossposter к MT пользуется Atom API для создания и последующего обновления кросспостов. И этот API у ЖЖ сломан. Работает и GET на feed, и POST для нового поста, и PUT на существующий для апдейта, и DELETE, но GET на отдельный пост выдает 401.

Как выкрутиться? GET перед PUT нужен в первую очередь, чтобы получить элемент <id> для поста. Без этого элемента PUT не пройдет, а на момент POST этот id еще неизвестен. Что делать? После POST получить feed журнала, пройтись по всем постам, найти нужный, сохранить его в базе, а потом при апдейте записи не делать GET, а вытянуть его из базы, изменить как нужно и отправить в ЖЖ PUT'ом.

Грязный и кривой хак, но ничего умнее я не придумал.

Вот патч: crossposter.patch.gz

Если Crossposter уже установлен, то надо изменить схему базы, добавив в таблицу mt_crossposter_cache колонку crossposter_cache_xml.

Important note: в патч закрался небольшой косяк, поэтому те, кто скачал его до Wed Dec 12 02:01:28 MSK 2007, просьба откатиться и выкачать заново.

0 TrackBacks

Listed below are links to blogs that reference this entry: Опять кросспостнинг.

TrackBack URL for this entry: http://net-geek.org/cgi-bin/mt/mt-tb.cgi/32

11 Comments

Vladimir Ivanov Author Profile Page on December 11, 2007 5:18 PM said:

ты для ЖЖ-кросспостов тогда комменты отключай

Daniel Ginsburg Author Profile Page on December 11, 2007 5:21 PM said:

Хотелось бы. Но я пока не нашел, что надо написать в запросе, чтобы отключить жжшные комменты. Поэтому пока будет, как есть.

saahov.ru Author Profile Page on December 13, 2007 8:34 AM said:

Я каким-то образом из консоли отключил все комментарии у новых записей. Команду не помню, так что подсказать не могу.

Daniel Ginsburg Author Profile Page on December 13, 2007 11:19 AM said:

О! Точно, была такая галочка. Сейчас пойду найду.

stiff Author Profile Page on December 23, 2007 12:08 AM said:

А вы не решили проблему с перекодировкой тела поста из utf-8 в &#xNNNN ?

Daniel Ginsburg Author Profile Page on December 23, 2007 12:19 AM said:

Неа. Судя по всему, это "фича" ЖЖ. Что ему сказать, чтобы он этого не делал, я не нашел.

stiff Author Profile Page on December 23, 2007 1:11 AM said:

Неприятно.

WP оно нормально сабмитится, но работает через XML-RPC.

А вот блог http://blog.lexa.ru/ который транслируется в http://alextutubalin.livejournal.com/ вроде как лишен данной проблемы...

Daniel Ginsburg Author Profile Page on December 23, 2007 1:20 AM said:

Да. Тутубалин пользуется другим плагином, который ходит вообще через /interface/flat. Это где-то в соседней записи в комментариях мы с ним на эту тему говорили.

stiff Author Profile Page on December 23, 2007 1:29 AM said:

Вижу... MTLJPost. А он его не выкладывал в свободный доступ?

А плагинов под MT реализующих /interface/xmlrpc нет?

Daniel Ginsburg Author Profile Page on December 23, 2007 1:36 AM said:

Сам плагин лежит в сети, естественно. Алекс упоминал какие-то нетривиальные усилия по прикручиванию его к MT4, но деталей я не видел. Меня crossposter с патчем вполне устраивает как временная мера, пока читатели не перейдут на чтение фида напрямую или через трансляционный аккаунт в ЖЖ. Поэтому эти NNNN меня расстраивают не сильно.

stiff Author Profile Page on December 23, 2007 4:14 AM said:

Хм... былобы интересно услышать как именно его можно прикрутить. Он же вроде как только под 3.х версии и ниже.

Ну если не найду выхода — придется мириться с NNNN...

Leave a comment

 

Pages

Archives

Sign In