写点什么

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

  • 2008-04-08
  • 本文字数:1642 字

    阅读完需:约 5 分钟

在 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 的特定对象中。

<pre id="pnnb">private const string get_popular = "http://services.digg.com/stories/popular/comments/{0}";<p>public DiggComments GetPopular()</p><br id="wtw-"></br>{ <br id="ekhu"></br> return GetPopular(new Hashtable());<br id="xo_v"></br>}<br id="fdxc"></br>public DiggComments GetPopular(Hashtable args)<br id="nq_t"></br>{ <br id="f0a1"></br> string uri = String.Format(get_popular, HttpBuildUrl(args)); <br id="f0yv"></br> return new DiggComments(Request(uri));<br id="v3vf"></br>}<br id="yteu"></br>public DiggComments(XmlDocument xml_doc) : base(xml_doc, "events")<br id="rafu"></br>{<br id="t4p3"></br> _comments = new List();<br id="rhjj"></br> if (xml_doc.SelectSingleNode("events") == null<br id="jcn9"></br> || xml_doc.SelectSingleNode("events").SelectNodes("comment") == null) {<br id="o1u6"></br> throw new DiggApiException("XML response appears to be malformed, or contains unexpected data.");<br id="h20r"></br> }<br id="qv17"></br> foreach (XmlNode node in xml_doc.SelectSingleNode("events").SelectNodes("comment")) {<br id="aung"></br> _comments.Add(new DiggComment(node));<br id="uhj6"></br> }<br id="ig1:"></br>}

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 开发人员指南

<pre id="e6mn">AtomEntry newPost = new AtomEntry();<br id="krk6"></br>newPost.Title.Text = "Marriage!";<br id="x311"></br>newPost.Content = new AtomContent();<br id="ewkz"></br>newPost.Content.Content = "<div xmlns='http://www.w3.org/1999/xhtml'>" +<br id="gu4j"></br> "<p>Mr. Darcy has <em>proposed marriage</em> to me!</p>" +<br id="rf9:"></br> "<p>He is the last man on earth I would ever desire to marry.</p>" +<br id="dtfd"></br> "<p>Whatever shall I do?</p>" +<br id="tt7j"></br> "</div>";<br id="cu93"></br>newPost.Content.Type = "xhtml";<br id="i77v"></br>newPost.Authors.Add(new AtomPerson());<br id="mc9i"></br>newPost.Authors[0].Name = "Elizabeth Bennet";<br id="lca7"></br>newPost.Authors[0].Email = "liz@gmail.com";<p>AtomEntry createdEntry = service.Insert("http://www.blogger.com/feeds/" + blogId + "/posts/default", newPost);</p>

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

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

2008-04-08 23:551230
用户头像

发布了 157 篇内容, 共 58.8 次阅读, 收获喜欢 6 次。

关注

评论

发布
暂无评论
发现更多内容

数字货币钱包APP系统开发|数字货币钱包软件开发

系统开发

区块链挖矿到底是什么,该怎么挖?

v16629866266

拍乐云技术分享 | 美术教学中视频矫正是怎么做的?

拍乐云Pano

音视频 RTC 图像处理 拍乐云 视频处理

老熟人,新朋友!写作平台邀新季!

InfoQ写作社区官方

热门活动

PostgreSQL中Oid和Relfilenode的映射

PostgreSQLChina

数据库 postgresql 开源 软件

目标岗位差异化对比

Geek_6a8931

高承实:区块链是一个技术结构组织 而不是技术

CECBC

大数据

红河州加速区块链等新技术与实体经济的深度融合

CECBC

数字经济

想学AI开发很简单:只要你会复制粘贴

华为云开发者联盟

GitHub 开源 AI mindspore 推理

架构师训练营第九周作业

zamkai

Java程序员福音!阿里最新产物分布式小册:存储+计算+通信+资源调度

Java架构追梦

Java 阿里巴巴 架构 面试 分布式

【面试必备】Swift 面试题及其答案

ios swift

数据库表数据量大读写缓慢如何优化(3)【Elasticsearch的使用】

我爱娃哈哈😍

大数据 elasticsearch 架构 优化 死磕Elasticsearch

第四周作业

oooh-la

第一章作业

tera

产品思维和产品意识

ALone

Hbase内核剖析

永健_何

大数据 HBase 底层技术 分布式数据储存

第一周作业-产品备忘录

Eva

测试一下

TJJ

焱融科技借公有云出海,服务国际知名卡车制造商自动驾驶业务

焱融科技

自动驾驶 分布式 存储 自动驾驶训练

软件架构模式之分层架构

架构精进之路

架构设计 七日更 28天写作

见证产品成长,共享AI力量!

百度大脑

别让假“努力”毁掉了你!面试了10家企业软件测试岗位,面试题整理

程序员阿沐

程序员 面试 软件测试 自动化测试 测试工程师

应对新冠病毒传播-粤政协委员建议构建公共卫生区块链平台

CECBC

区块链 公共卫生

Java 程序经验小结: 慎用可变参数

后台技术汇

28天写作

喜讯 | 拍乐云Pano荣获「2020大数据产业创新技术突破」奖

拍乐云Pano

大数据 音视频 RTC 拍乐云

谷歌面试题:如何从无序链表中移除重复项?

田维常

面试

LocalDateTime、OffsetDateTime、ZonedDateTime互转,这一篇绝对喂饱你

YourBatman

LocalDateTime OffsetDateTime ZonedDateTime

图解 | 原来这就是TCP

程序员 网络协议 架构师

都在用Kafka ! 消息队列序列化怎么处理?

李尚智

Java kafka 架构 消息队列 消息中间件

重学JS | Set和Map是如何过滤重复值的?

梁龙先森

面试 大前端 编程语言 28天写作

面向Google、YouTube、Facebook以及其他Web 2.0 API的C#和VB.NET类库_.NET_Abel Avram_InfoQ精选文章