BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

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

| 作者 Abel Avram 关注 11 他的粉丝 ,译者 赵劼 关注 5 他的粉丝 发布于 2008年4月10日. 估计阅读时间: 7 分钟 | ArchSummit北京2018 共同探讨机器学习、信息安全、微服务治理的关键点
在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()
{
return GetPopular(new Hashtable());
}
public DiggComments GetPopular(Hashtable args)
{
string uri = String.Format(get_popular, HttpBuildUrl(args));
return 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 = "<div xmlns='http://www.w3.org/1999/xhtml'>" +
"<p>Mr. Darcy has <em>proposed marriage</em> to me!</p>" +
"<p>He is the last man on earth I would ever desire to marry.</p>" +
"<p>Whatever shall I do?</p>" +
"</div>";
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", newPost);

如果您想了解更多有关各种Web 2.0服务的类库,从Scott Hanselman的文章出发会是一个不错的选择。

查看英文原文:C# and VB .NET Libraries to Google, YouTube, Facebook, and other Web 2.0 APIs

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT