Интерфейс для блога через десктопное приложение

Я не знал, как озаглавить этот вопрос...

По сути, я загрузил несколько «приложений для настольных блогов», которые представляют собой настольные приложения, которые позволяют вам публиковать сообщения в своем блоге. Вы получаете обычную форму заголовка/текста и можете добавлять изображения и прочее.

При использовании этого приложения вы можете настроить параметры своего блога, свой URL-адрес, а затем сообщить ему, какое «программное обеспечение для блога» использует ваш блог, а затем оно будет использовать правильный API для вашего блога, чтобы получить ваши блоги, создать новый, редактировать старые и так далее.

Что ж, я автор (PHP) CMS, и я не использую какой-либо готовый фреймворк для ведения блогов, но написал свой собственный, который использует мои базы данных и мои способы обработки участников, ответов, комментариев и тому подобного.

Ну, есть ли ЛЮБОЙ способ построить мост между любым из этих программ для блогов и моим программным обеспечением, чтобы я мог сказать пользователям, что они могут загрузить «MarsEdit» (например), а затем указать его на URL-адрес X и установить его на программное обеспечение для блогов Y а потом просто получится?

Что мне нужно, так это некоторая форма API среднего уровня, которую я могу использовать для отправки и получения содержимого блога из пользовательского приложения и в него в соответствии с открытым и приятным/компетентным интерфейсом блога.

Есть идеи, или я ничего не понимаю?


person Sandman    schedule 25.02.2010    source источник


Ответы (5)


Вам определенно следует реализовать стандартный XML-RPC API для вашей CMS. После этого любое программное обеспечение, совместимое с этим API, сможет взаимодействовать с вашим блогом.

Я предлагаю реализовать MetaWeblog: http://www.xmlrpc.com/metaWeblogApi. Он поддерживается всеми основными программами и веб-сайтами для ведения блогов.

Из Википедии:

MetaWeblog API — это интерфейс прикладного программирования, созданный разработчиком программного обеспечения Дейвом Винером, который позволяет записывать, редактировать и удалять записи веб-журнала с помощью веб-сервисов.

API реализован в виде веб-службы XML-RPC с тремя методами, имена которых описывают их функцию: metaweblog.newPost(), metaweblog.getPost() и metaweblog.editPost(). Эти методы принимают аргументы, которые определяют имя пользователя и пароль автора блога, а также информацию, связанную с отдельной записью в блоге.

Как сказано в других ответах, альтернативой MetaWeblog является AtomPub (Протокол публикации Atom) .

ИМХО, будучи более сложным и имеющим больше возможностей, AtomPub сложнее реализовать. Более того, я думаю, что MetaWeblog реализован шире, чем AtomPub, и имеет чертову кучу совместимых клиентов.

РЕДАКТИРОВАТЬ: Вот несколько примеров реализации:

person Wookai    schedule 25.02.2010
comment
Это (metaWeblogApi) выглядит действительно хорошим предложением, и в него стоит углубиться. Тем не менее, это кажется таким старым, но я думаю, что ведение блога не сильно изменилось с 2003 года. У вас есть какие-либо ссылки на то, как это реализовать, ничего полного, просто для начала? - person Sandman; 25.02.2010
comment
Да, думаю, ничего особо не изменилось ;) ! Я добавил несколько ссылок на некоторые реализации. Я думаю, что хороший пример — посмотреть, как это делает WordPress (последняя ссылка, ищите function mw_newPost($args)). - person Wookai; 25.02.2010

Вероятно, они используют протокол публикации Atom. Спецификация описывает функции API, которые необходимо реализовать.

person Quentin    schedule 25.02.2010

Совершенно верно, но вам, возможно, нужно поддерживать стандарт, все они имеют ссылки на дополнительную информацию, но в основном большинство «основных» CMS, с которыми я работал (drupal, joomla, postnuke и т. д.), все используют xml-rpc и некоторую форму API блоггера. Предполагая, что вы хорошо разбираетесь в PHP, кодовая база drupal обычно довольно проста для поиска подсказок и кода для повторного использования.

http://code.google.com/intl/en/apis/blogger/< /а>

http://code.blogger.com/

http://codex.wordpress.org/XML-RPC_Support

http://www.sixapart.com/developers/xmlrpc/blogger_api/

http://www.xmlrpc.com/metaWeblogApi

Поскольку вы делаете это на PHP, вот модуль drupal, который можно адаптировать или перепроектировать, чтобы получить достаточно информации о трех «основных» API-интерфейсах блога, которые используют xml-rpc.

person furrymitn    schedule 25.02.2010
comment
Я скачал модуль Drupal и смотрю код. Учитывая достаточно времени, я определенно смогу что-то с этим сделать. Но, похоже, он использует API Blogger, в то время как другой автор рекомендовал metaWeblogApi (на который вы также ссылались), интересно, проблема ли это. Я думаю, что я мог бы использовать руководство по этому вопросу... - person Sandman; 25.02.2010
comment
Из xmlrpc.com/metaWeblogApi кажется, что MetaWeblog должен был улучшить API Blogger, но я предполагаю, что оно настигло. Я предпочитаю MetaWeblog, потому что считаю его открытым стандартом, тогда как blogger — это особый API одной конкретной платформы для ведения блогов (которая позже стала своего рода стандартом). Но, в конце концов, это не имеет особого значения, так как оба, кажется, широко поддерживаются. - person Wookai; 25.02.2010

Взгляните на API подвижного типа (http://www.sixapart.com/developers/xmlrpc/movable_type_api/) и вообще все API, поддерживаемые WordPress (http://codex.wordpress.org/XML-RPC_Support)

person munissor    schedule 25.02.2010

Вы можете запустить Fiddler и посмотреть, что именно делают настольные приложения.

person SLaks    schedule 25.02.2010