在 2025 收官前,看清 Data + AI 的真实走向,点击查看 BUILD 大会精华版 了解详情
写点什么

面向 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:551468
用户头像

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

关注

评论

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

支撑1300+矿井监控,华为云数据库助力打造智能矿山

华为云开发者联盟

数据库 监控 华为云 数据复制服务 煤矿

好好学react源码然后惊艳所有人

全栈潇晨

React react源码

云脑启智 院士压轴 | 2021新一代人工智能院士高峰论坛暨OpenI/O启智开发者大会即将开幕

OpenI启智社区

人工智能 开源社区 院士峰会 启智开发者大会 鹏城云脑

云原生时代,企业如何智能管理数据?

Kyligence

关于库存扣减方案的思考总结

得物技术

后端 电商 库存 电商大促

Hybris Storefront里产品图片显示不出来的分析方法

汪子熙

28天写作 SAP Hybris 12月日更 Backoffice

华为云首席架构师顾炯炯:敢为人先,探索架构创新之路如何走

华为云开发者联盟

架构 架构师 公有云 华为云 云服务API

react源码解析20.总结&第一章的面试题解答

buchila11

React react源码

iTerm通过SSH配置登录服务器

eva

Mac iTerm 服务器

react源码解析19.手写迷你版react

buchila11

React React Hooks

【LeetCode】电话号码的字母组合Java题解

Albert

算法 LeetCode 12月日更

入驻快讯|欢迎 OpenI 启智社区正式入驻 InfoQ 写作平台!

InfoQ写作社区官方

入驻快讯

终于购买了自己的第一个硬件钱包Ledger Nano(8/28)

赵新龙

28天写作

不用 Python/R ,只会 SQL 就可以做机器学习?

Kyligence

说了半天跨平台,今儿咱就来跨跨!(中)

为自己带盐

Docker jenkins 28天写作 签约计划第二季 12月日更

计划会议想开好,这两件事必须清楚

华为云开发者联盟

计划 敏捷 团队 计划会议 故事分解

MongoDB技术实践与应用案例征集中

MongoDB中文社区

mongodb

通过 nginx 日志做监控

Arch

Flutter 详解 Timer & ACETimerButton 自定义计时器按钮

阿策小和尚

28天写作 0 基础学习 Flutter 内容合集 签约计划第二季 12月日更

一款好用的Maven插件 - Maven Helper

恒生LIGHT云社区

Java maven

TCP的慢启动、拥塞避免、重传、快恢复乱七八糟总是记不清?11个连环问让你一次性打通任督二脉

华为云开发者联盟

TCP 报文 TCP协议 ACK RTT

Java开发中 API接口不用写 Controller也可以

@零度

Java API Controller

列存数据库,不只是列式存储

Kyligence

低代码是如何帮助500强企业解决数字化转型“边角料”问题的?

优秀

低代码 数字化转型

python scrapy 管道学习,并拿在行练手爬虫项目

梦想橡皮擦

12月日更

Linux系统学习《Linux一学就会》:LVM管理和ssm存储管理器使用

侠盗安全

Linux linux运维 运维工程师 云计算架构师

使用 HTML、CSS、JS 和 API 制作一个很棒的天气 Web 应用程序

海拥(haiyong.site)

JavaScript API 28天写作 签约计划第二季 12月日更

硬核榜单 | 拍乐云荣登福布斯中国「企业科技50强」

拍乐云Pano

音视频 拍乐云 福布斯 科技企业

低代码实现探索(六)复杂业务的去处事件码

零道云-混合式低代码平台

实用机器学习笔记七:数据变换

打工人!

机器学习 算法 学习笔记 12月日更

预计算 or 数据虚拟化,你 pick 谁?

Kyligence

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