BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース TwitterやFacebook、LinkedIn、Tripitと連携できるSpring Socialの最初のマイルストーン

TwitterやFacebook、LinkedIn、Tripitと連携できるSpring Socialの最初のマイルストーン

原文(投稿日:2010/11/08)へのリンク

先週、 SpringSourceは、JavaプログラムからソーシャルネットワークサイトにアクセスするためのSpringベースのテンプレートであるSpring Socialの最初のマイルストーンをリリースした。

この最初のマイルストーンには、TwitterやFacebook、LinkedIn、Tripit向けのテンプレートが含まれている。Spring Social API は汎用的なURLベースのAPIではなく、個々のソーシャルネットワークサイトに特化した設計を行っており、これらのサイトと比較的素直に連携できるようになっている。個々のテンプレートは、RESTベースのWebサービスにアクセスするための汎用的なテンプレートであるSpringのRestTemplateの上に構築されている。

Spring Socialを使うために、開発者は次のことを行う必要がある

  1. 初回は、対象のソーシャルネットワークサイトの開発者アカウントを手動で設定する。
  2. 新しいユーザが追加された際には、プログラム的に対象のソーシャルネットワークサイトにOAuthトークンをリクエストする。
  3. 適切な Spring Sourceテンプレート(例 TwitterTemplate)をインスタンス化し、開発者キーと現在のユーザのOAuthキーを渡す。
  4. Spring Sourceテンプレートオブジェクト上の呼び出したいメソッドを呼び出す。ちょうどJdbcTemplateのメソッドを呼び出すのと同じ。

 

認可されてしまえば、ソーシャルネットワークサイトを操作するのに必要なコードは自明なものだ。以下の例は、ユーザのLinkedInのコネクションを取得するものだ。

LinkedInTemplate template = new LinkedInTemplate(developerApiKey, developerSecret, oauthAccessTokenValue, oauthAccessTokenSecret);
List <linkedinprofile> connections = template.getConnections();

もちろん、OAuthによる認可の部分が大変な部分なのだ。SpringSourceは、APIをどう使うかを示したGreenhouseと呼ばれるリファレンス実装を作成している。Greenhouseには、OAuthトークンをリクエストし、それぞれのプロバイダに接続する部分を示したサンプルコードが含まれている。しかし、すばらしいSpring SocialのチュートリアルがJettro Coenradie氏によって作成されており、こちらの方が簡単だ。

 

Spring Socialの将来のマイルストーンには、ドキュメントの改善および、認可情報を保持するためのOAuthサービスとのより密な連携を提供する予定だ。現時点では、開発者はどこかに認可キーを保持するような処理を行わなければならず、Spring Socialテンプレートに認可キーを渡さなければならない。しかし次のSpring Socialのマイルストーンでは、このプロセスをより簡易に行えるようなコードが含まれる予定だ。SpringSourceは、最終的なOAuthソリューションを現在Greenhouseにあるコードを元にしようと計画している。

Spring Socialを使う代わりに、サイト専用の他のライブラリを利用するという手もある。Twitterには、Twitter4Jその他の優れたライブラリのエコシステムが存在する。その他のサイト用の専用ライブラリは、それよりは少し手に入れづらい。Facebookの前の公式Java APIであり、現在は見捨てられているものRestFBなどだ。

開発者は、OAuthヘルパーライブラリを使って力仕事をすることもできるし、直接URLを操作することで、それぞれのサービスのREST風APIを利用することもできる。人気のあるOAuthライブラリとしては、SignpostOAuth for Spring SecurityScribeその他のライブラリなどが存在する。

この記事に星をつける

おすすめ度
スタイル

BT