InfoQ

InfoQ

News

マイブックマーク

ブックマークするためにログイン または 会員登録 する

ブックマークされました!

ブックマークがエラーになりました。もう一度お願いします。

Google、YouTube、Facebookおよびその他Web 2.0 APIへのC#およびVB .NETライブラリ

作者 Abel Avram , 翻訳者 編集部 投稿日 2008年4月5日

セクション
デベロップメント,
エンタープライズ・アーキテクチャ,
設計/アーキテクチャ
トピック
.NET ,
Web 2.0
タグ
Web services ,
C# ,
Visual Basic.NET

Scott Hanselman氏による最近のブログの投稿(ブログ・英語)で、 Web全体に広まっているWeb 2.0 とのインターフェイスに有効な.NETライブラリのリストを編纂した。これらのサービスの利用方法の例を以下に紹介している。以下はリストからの抜粋である。

Digg

DiggのAPIはRESTと呼ばれ、通信にXMLを使用する。DiggApiNet(source)は、Digg APIの.NETラッパーである。Digg API.NET(source)CodeProjectで利用可能な別のラッパーである。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

Facebookは、複雑なAPI(source)を開発し、それに対する充実した.NETサポートがある。CodePlexは、 2つの関連プロジェクトをホストする。1つはFacebook.NET(source)であり、Facebookアプリケーションの開発やFacebook APIにアクセスする際に使用される.NET libraryを提供する。もう1つは、Facebook Developer Toolkit(source)であり、もともとClarity Consulting Inc.(サイト・英語)によって開発された。Jay Lagorio氏はVB.NETのFacebookラッパー(source)を記述し、fbasync(source)は、 Facebookの非同期APIに焦点を当てたCodePlexプロジェクトである。

GoogleおよびYouTube

GData(source)というGoogleのAPIは、HTTP上でXMLを使用して通信する一連のライブラリである。GDataは、 YouTube、Blogger、 Google Calendar、Notebook、Spreadsheets、Documents、Picassaなどで使用されている。Googleは.NETデベロッパにラッパー(source)を提供しているので、Google提供の.NET Developer's Guide(source)で紹介されている以下の例にあるように、かなり簡単にGDataコンテンツの読み書きができる。

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氏による投稿(ブログ・英語)がよい開始点になる。

原文はこちらです: http://www.infoq.com/news/2008/04/Web20API

特集コンテンツ一覧

GAE開発の落とし穴

Googleのクラウド環境をつかったGoogle App Engineによる開発するにあたり、初めての試みで苦悩する開発者達の経験をもとに、各開発フェーズにあわせて問題点やどう解決したかをご紹介します

イベントレポート:「Coqチュートリアル#1」

去る1月12日、定理証明支援系ツールCoqの初心者向けチュートリアルが開催さ れた(http://kokucheese.com/event/index/23667/)。今後も2月2日 (http://kokucheese.com/event/index/23744/)、2月9日、2月16日と引き続き開 催されていく予定である。本記事では、開催の様子をレポートする。

Javaの未来についてのNeal Gafter氏とのディスカッション

Choosing Options

Neal Gafter氏はOracleによるJava買収の影響に関する議論、Javaにセグメンテッドスタックやメタオブジェクトプロトコルを追加することについての主張、そしてJavaとC#との比較について話をしてくれた。

Google Dartのエッセンス:アプリケーションの構築、スナップショット、Isolate

GoogleはVMをともなう新しい言語であり、JSコンパイラでもあるDartをプレビューした。 InfoQはDartのアプリの構築に貢献する文法の裏側を探った:スナップショット、Isolate、モジュール方式

CSPベースのモデル検査ツール「Process Analysis Toolkit」

本記事ではCSPベースの「マルチドメイン・モデル検査ツール」である、PAT(Process Analysis Toolkit)について紹介する。モデル検査は、形式手法(Formal Method)という方法論を基礎とする技術であり、複雑さが増大しながらも安全性を求められる、現在のソフトウェア開発の状況に対する処方箋の1つとして注目されている手法である。

Jenkinsによる継続的インテグレーションのススメ(4) ~CloudBeesでJenkinsをサービスとして使う~

前回まで、Jenkinsの幾つかの側面に注目して解説をしてきました。シリーズ最後の今回は、Jenkinsをサービスとして使う方法を紹介します。

書籍『抽象によるソフトウェア設計-Alloyではじめる形式手法-』の紹介

Alloyは、MITにて開発された仕様記述言語であり、ツールによる自動解析を使い、インクリメンタルに形式仕様が書けることが特長である。筆者らはAlloy開発者による、Alloyを使った形式手法入門書を翻訳、今夏にオーム社より刊行した。本記事では、Alloyの簡単な概要と、翻訳書『抽象によるソフトウェア設計』(「Alloy本」)を紹介する。

Windows デバイスで開発するタッチユーザーインターフェイス

スマートフォンを中心としたマルチデバイスにおけるタッチユーザーインターフェイスへの対応は、既に必須の項目となりつつある。本記事では、Windows デバイスにおける UX のベースとなっている「メトロ」というデザイン言語を掘り下げながら、既存環境を意識しつつもどのようにタッチユーザーインターフェイス開発に取り組んでいくべきであるかについて解説していく。