我不确定如何标题这个问题......
基本上,我已经下载了一些“桌面博客应用程序”,这是一个桌面应用程序,可以让你发布到你的博客。您可以获得通常的标题/文本表单,并且可以添加图像和内容。
使用这些应用程序时,您可以设置您的博客设置,您的URL,然后告诉它您的博客使用的“博客软件”,然后它将使用正确的API为您的博客提取您的博客,创建一个新的,编辑旧的等等。
好吧,我是(PHP)CMS的作者,我没有使用任何预制的博客框架,但我自己编写了使用我的数据库和我处理成员,回复,评论等的方法。
嗯,有没有办法在这些博客软件和我的软件之间建立一个桥梁,这样我就可以告诉用户他们可以下载“MarsEdit”(例如),然后将其指向url X并将其设置为博客软件Y然后它会起作用吗?
我需要的是一些中间层API,我可以使用它根据开放且漂亮/称职的博客界面向用户应用程序发送和接收博客内容。
任何想法,或者我没有任何意义?
答案 0 :(得分:4)
您绝对应该为CMS实施标准XML-RPC API。然后,任何与此API兼容的软件都可以与您的博客进行交互。
我建议实施MetaWeblog:http://www.xmlrpc.com/metaWeblogApi。它得到了所有主要博客软件和网站的支持。
来自维基百科:
MetaWeblog API是一个应用程序 编程接口 软件开发人员Dave Winer说 允许写入weblog条目, 使用网络编辑和删除 服务。
API实现为XML-RPC Web服务有三种方法 名称描述其功能: metaweblog.newPost() metaweblog.getPost()和 metaweblog.editPost()。这些方法 采用指定博客的参数 作者的用户名和密码 与相关的信息 个人博客条目。
正如其他答案中所说,MetaWeblog的替代品是AtomPub(The Atom Publishing Protocol)。
恕我直言,AtomPub更复杂,功能更多,实施起来更加复杂。此外,我认为MetaWeblog比AtomPub更广泛地实现,并且具有crapload of compatible clients。
编辑:这里有一些实现示例:
答案 1 :(得分:2)
他们可能使用Atom Publishing Protocol。规范描述了您需要实现的API功能。
答案 2 :(得分:1)
完美的感觉,但你需要支持一个标准,所有这些都有更多信息的链接,但基本上我使用的大多数“主流”CMS(drupal,joomla,postnuke等)都使用xml-rpc和某种形式的博客api。假设您精通PHP,drupal的代码库通常很容易通过提示和代码重用。
http://code.google.com/intl/en/apis/blogger/
http://codex.wordpress.org/XML-RPC_Support
http://www.sixapart.com/developers/xmlrpc/blogger_api/
http://www.xmlrpc.com/metaWeblogApi
由于您是在PHP中进行的,因此可以对drupal module进行调整或进行逆向工程,以便在使用xml-rpc的三个“主要”博客apis上获取足够的信息。
答案 3 :(得分:0)
查看Movable类型API(http://www.sixapart.com/developers/xmlrpc/movable_type_api/),以及一般WordPress支持的所有API(http://codex.wordpress.org/XML-RPC_Support)
答案 4 :(得分:0)
您可以运行Fiddler并查看桌面应用程序正在执行的操作。