阿里云飞天发布时刻,领先大模型限免,超7000万 tokens免费体验 了解详情
写点什么

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

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

关注

评论

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

【LeetCode】删除排序链表中的重复元素 IIJava题解

Albert

算法 LeetCode 3月日更

区块链中药溯源--区块链为中医药溯源认证

13530558032

区块链BaaS应用平台搭建,助力企业运用区块链解决业务问题

13828808769

区块链 区块链+ 区块链发展 #区块链#

通俗讲解分布式锁,看完不懂算我输

Java小咖秀

Java 分布式 多线程 并发

电子证照上链--助推智慧政务

13530558032

基于深度学习的两种信源信道联合编码

华为云开发者联盟

深度学习 通信 编码 信源编码 信道编码

推荐 2 款必备的 Django 开发神器

星安果

Python django Web 后端

Datadog 能成为最大的云监控厂商吗

睿象云

运维 运维平台 Datadog 云监控

异步机制和CPU架构对 Redis 性能的影响

escray

redis 学习 极客时间 3月日更 Redis 核心技术与实战

Rust从0到1-基础概念-数据类型

rust 数据类型

QCon全球软件开发大会:推动创新,实现技术落地

博文视点Broadview

智慧公安信息化管理系统,重点人员管控系统的搭建

13828808769

智慧交通

Worktile 前端工程化之路

PingCode研发中心

大前端

能源绿色管控:天然气站启动数字化转型,工业企业该如何突围?

一只数据鲸鱼

物联网 数据可视化 智慧城市 能源管理 天然气

困扰一周的奇葩bug:重复相似代码多,导致单片机程序跑飞

不脱发的程序猿

28天写作 硬件设计 嵌入式软件 单片机 3月日更

华为云PB级数据库GaussDB(for Redis)揭秘第六期:Feed流场景中的应用

华为云开发者联盟

数据库 redis 华为云 GaussDB Feed流

主数据建设的挑战与发展

EAWorld

​Autonomous Dream Works的独创力杰作EGGNetwork EFTalk

币圈那点事

镜像仓库学习笔记

lenka

3月日更

分布式锁的实现方案

360技术

初识Golang之声明函数

Kylin

3月日更 21天挑战 Go 语言

搞懂 ZooKeeper 集群的数据同步

HelloGitHub

Java zookeeper ZooKeeper原理

如何正确使用Python临时文件

华为云开发者联盟

Python 安全 临时文件 tempfile 库函数

网络连接之协议栈

Kylin

协议栈 3月日更 21天挑战 网络连接

区块链六大应用场景,推动政府信息化发展

13828808769

区块链+ #区块链#

低代码是什么?低代码价值主要体现在哪?

优秀

低代码

设计与思考,关于资源和生命周期

程序员架构进阶

设计实践 生命周期 28天写作 3月日更 池化技术

Python基础之:Python中的模块

程序那些事

Python Python3 程序那些事

Gas费用持续攀升!NA公链NAC公链如何破解高额Gas费用的困局?

区块链第一资讯

一段java代码执行旅程

华为云开发者联盟

JVM class 指令 java代码 java栈

Golang号称最快的Json解析器速度可达5623ns/op

happlyfox

学习 3月日更 Go 语言

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