BT

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

| 作者: Tim Cull フォローする 0 人のフォロワー , 翻訳者 能仁 信亮 フォローする 0 人のフォロワー 投稿日 2010年11月11日. 推定読書時間: 3 分 |

原文(投稿日: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その他のライブラリなどが存在する。

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT