写点什么

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

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

关注

评论

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

Flink的2种部署模式-2

小知识点

scala 大数据 flink

联邦学习初识

soolaugust

学习

a站、b站、c站、d站、e站、f站、g站、h站、i站、j站、k站、l站、m站、n站…z站?

程序员生活志

Week 11 学习总结

Jeremy

【Elasticsearch 技术分享】—— Elasticsearch ?倒排索引?这都是什么?

程序员小航

elasticsearch ELK 倒排索引 ES 技术分享

28岁硕士女程序员想分手!对象专科学历,北京土著,失业3个月找不到工作!遭网友群嘲!

程序员生活志

程序员

暴雪员工抗议薪酬不公,部分员工称甚至难以维持生计

程序员生活志

职场

终于可以职业规划了么?

escray

学习 面试

如何通过技术面试?

escray

学习 面试

我是合适的人选么?

escray

学习 面试

究竟要找什么样的工作?

escray

学习 面试

一个@Transaction哪里来这么多坑?

程序员DMZ

spring 事务 读写分离

一文读懂jar包的小秘密

程序那些事

Java jar jar包的小秘密 java解密

再见C++

Sunny.

c++ 踩坑

公司想要大龄程序员么?

escray

学习 面试

性能全开的十代酷睿,造就惠普光影精灵 6 的电竞燃魂

最新动态

【API进阶之路】逆袭!用关键词抽取API搞定用户需求洞察

华为云开发者联盟

接口 软件开发 API 华为云 API Explorer平台

我以后去做什么,技术还是业务?

escray

学习 面试 职业规划

大数据技术发展(三):Spark 代替 Hadoop ? Spark Or Flink ?

cristal

Java 大数据 flink hadoop spark

Docker 的前世今生

哈喽沃德先生

Docker 容器 微服务 虚拟化

SpreadJS 应用案例:电力自动化在线数据采集报表系统

葡萄城技术团队

SpreadJS 电力 报表

对于结果不同程度的追求,决定了这个人的身价

非著名程序员

程序员 个人成长 思维模型 结果思维

一看就懂的三次握手

书旅

TCP 三次握手 操作系统 协议族

Centos7下service配置知识

星火PLUS交易所打造无边界数字经济联盟,掀起币圈追捧热潮

InfoQ_967a83c6d0d7

3 分钟生成一个单元测试报告,这个样式爱了

程序员小富

Java 测试

四十不惑,准备面试

escray

学习 面试

我喜欢的工作,喜欢我么?

escray

学习 面试

MySQL系列(一):MySQL深入学习先导篇之基础架构

z小赵

MySQL 数据库

Week 11命题作业

Jeremy

如何使 Grafana as code

郭旭东

翻译 Grafana

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