面向Google、YouTube、Facebook以及其他Web 2.0 API的C#和VB.NET类库

在Scott Hanselman博客最近发表的一篇文章中,Scott编辑了一系列.NET类库,这些类库有助于开发人员面向那些互联网上著名的Web 2.0 API进行开发。\

Digg

\

Digg的API使用REST形式的接口,并且通过XML进行通信。DiggApiNet是Digg API的一个.NET封装。CodeProject还包括另一个可用的API封装Digg API.NET。在Hanselman提供的如下示例中,从一个特定的URL中创建和加载了一个XmlDocument对象,然后将XML节点复制到Digg的特定对象中。

\
\
private const string get_popular = \"http://services.digg.com/stories/popular/comments/{0}\";

public DiggComments GetPopular()


{
\treturn GetPopular(new Hashtable());
}
public DiggComments GetPopular(Hashtable args)
{
\tstring uri = String.Format(get_popular, HttpBuildUrl(args));
\treturn new DiggComments(Request(uri));
}
public DiggComments(XmlDocument xml_doc) : base(xml_doc, \"events\")
{
_comments = new List();
if (xml_doc.SelectSingleNode(\"events\") == null
|| xml_doc.SelectSingleNode(\"events\").SelectNodes(\"comment\") == null) {
throw new DiggApiException(\"XML response appears to be malformed, or contains unexpected data.\");
}
foreach (XmlNode node in xml_doc.SelectSingleNode(\"events\").SelectNodes(\"comment\")) {
_comments.Add(new DiggComment(node));
}
}\
\

Facebook

\

Fackbook提供了一个复杂的API,目前已经可以获得足够多的.NET支持。CodePlex托管了两个相关的项目:一个是Facebook.NET,它提供了一套用于开发Facebook应用程序以及访问Fackbook API的.NET类库;另一个则是Facebook Developer Toolkit,最初由Clarity Consulting Inc.开发。Jay Lagorio为VB.NET编写了一个Facebook的API封装,而fbasync则是一个面向Fackbook异步API的CodePlex项目。

\

Google and YouTube

\

Google的API“GData” 是一套全面的类库,使用了XML并基于HTTP协议实现通信。GData为YouTube、Blogger、Google Calendar、Notebook、Spreadsheets、Documents、Picassa等提供支持。Google为.NET开发人员提供了 一个封装,以便于他们快捷地读写GData内容。以下示例撷取自Google提供的.NET开发人员指南

\
\
AtomEntry newPost = new AtomEntry();
newPost.Title.Text = \"Marriage!\";
newPost.Content = new AtomContent();
newPost.Content.Content = \"\u0026lt;div xmlns='http://www.w3.org/1999/xhtml'\u0026gt;\" +
\"\u0026lt;p\u0026gt;Mr. Darcy has \u0026lt;em\u0026gt;proposed marriage\u0026lt;/em\u0026gt; to me!\u0026lt;/p\u0026gt;\" +
\"\u0026lt;p\u0026gt;He is the last man on earth I would ever desire to marry.\u0026lt;/p\u0026gt;\" +
\"\u0026lt;p\u0026gt;Whatever shall I do?\u0026lt;/p\u0026gt;\" +
\"\u0026lt;/div\u0026gt;\";
newPost.Content.Type = \"xhtml\";
newPost.Authors.Add(new AtomPerson());
newPost.Authors[0].Name = \"Elizabeth Bennet\";
newPost.Authors[0].Email = \"liz@gmail.com\";

AtomEntry createdEntry = service.Insert(\"http://www.blogger.com/feeds/\" + blogId + \"/posts/default\

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值