您当前的位置:KKBlog > 学无止境 > ASP.NET

MetaWeblog API

MetaWeblog API是一套基于XML-RPC通信协议的编程接口,是诸如Wordpress这样的Blog应用程序对外接口国际规范标准,通过MetaWeblog API,Blog应用可以对外公布Blog提供的服务,从而允许外面的程序能取得和设置Blog文章的文本或属性。目前大部分流行的Blog程序和工具都支持MetaWeblog API。

一、什么是MetaWeblog API?

MetaWebBlog API(MWA)是一个Blog程序接口标准,允许外部程序来获取或者设置Blog的文字和熟悉。他建立在XMLRPC接口之上,并且已经有了很多的实现。

二、MetaWeblog API 基本的函数规范

MetaWeblog API 有三个基本的函数规范:

metaWeblog.newPost (blogid, username, password, struct, publish) 返回一个字符串,可能是Blog的ID。
metaWeblog.editPost (postid, username, password, struct, publish) 返回一个Boolean值,代表是否修改成功。
metaWeblog.getPost (postid, username, password) 返回一个Struct。

说明:

1、其中blogid、username、password分别代表Blog的id(注释:如果你有两个Blog,blogid指定你需要编辑的blog)、用户名和密码。
2、struct的含意:
在newPost和editPost中,struct是一个RSS 2.0规范中<item>里面的定义。<item>的定义如下: 

元素 说明
title The title of the item.
link The URL of the item.
description The item synopsis.
author Email address of the author of the item
category Includes the item in one or more categories
comments URL of a page for comments relating to the item
enclosure Describes a media object that is attached to the item
guid A string that uniquely identifies the item.
pubDate Indicates when the item was published.
source The RSS channel that the item came from.
 表1-1 RSS 2.0规范中<item>的定义

其中最主要的三个元素是title、link和description。如果Blog工具不支持title和link,description就是目录(Content)。category是一个数组,是这个Post所属的类别。如果类别不存在,服务器端将只处理存在的类别。

三、文件上传函数 metaWeblog.newMediaObject

metaWeblog.newMediaObject (blogid, username, password, struct) 返回一个数组。如果调用失败,它显示错误信息。如果调用成功,返回值是一个Struct,里面至少包含一个Url元素,代表数据的HTTP或者FTP Url。

参数说明:
其中blogid、username、password分别代表Blog的id(注释:如果你有两个Blog,blogid指定你需要编辑的blog)、用户名和密码。
struct必须包含name, type 和bits三个元素,当然也可以包含其他元素。name代表数据的名称;type是数据的MIME类型,譬如audio/mpeg 、image/jpeg和video/quicktime;bits是数据的base64编码形式的数据流。

四、获取分类函数 metaWeblog.getCategories

metaWeblog.getCategories (blogid, username, password) 返回一个struct。返回值包含所有的Blog的类别,每一个列别包含description, htmlUrl and rssUrl。

五、获取最近发布函数 metaWeblog.getRecentPosts

metaWeblog.getRecentPosts (blogid, username, password, numberOfPosts) 返回一个结构(struct)的数组(array)。每一个Struct包含getPost返回值一样的结构。
numberOfPosts是返回的数量。

六、MetaWeblog API 调用验证和错误显示

同Blogger API不同的是,MetaWeblog API 没有APPKEY这个概念,可以自己设置,同时建议使用标准的XMLRPC Fault来显示错误。

七、MetaWeblog API的应用场景

通过电子邮件方式发布Blog(比如Windows Live Spaces、Office 2007的电子邮件发布功能)
通过客户端(比如Live Writer、IM) 来发布Blog
通过社会化网络(例如Facebook、Twitter、Myspace、douban)来发布Blog
通过社会化书签(例如delicious、google docs)把收藏的网页、文档定时发布到Blog
通过Mahsup应用接口把聚合的内容发不到Blog
 
二维码
意见反馈 二维码