OpenSocialを利用してガジェットを作ろう!

第1回 OpenSocialの世界へようこそ!

この記事を読むのに必要な時間:およそ 2 分

開発者の自由とは

このような新しい関係によるサービスの活性化を図るために,多くのSNSがプラットフォーム化を遂げようと考えるでしょう。しかし,ここで大きな問題が発生します。それは,APIの互換性です。

例えば,あるSNSがプラットフォーム化を行い,APIを開発者に提供したとします。開発者はそのAPIを使ってガジェットを開発し,そのSNSの会員に利用してもらいます。では,別のSNSがプラットフォーム化を行う際に,そのAPIがそれぞれ異なるものとすると,開発者は困ってしまうことでしょう図3)⁠つまり,別のSNS向けにガジェットのコードを書き直す作業,つまり移植作業が必要になってしまいます。

図3 APIの非互換

図3 APIの非互換

次々とSNSが独自にAPIを策定していってしまうと,開発者の自由は徐々になくなっていってしまうことになります。

共通規格 - OpenSocialの登場

このような互換性問題などを解決するために立ち上がったのは,どのSNSでもない,Googleでした。Googleは2007年10月末,OpenSocialを発表しました。MySpaceやFriendstar,Plaxoなどの主要なSNS陣営や,Salesforce.comやOracleなどのエンタープライズ向けサービス提供陣営など,多くの賛同や参加を得ることに成功しています。

OpenSocialは,ソーシャルなアプリケーションを開発するための共通規格です。SNSがOpenSocialに対応することで,あるガジェットは多くのSNSでそのまま動作することになります図4)⁠つまり,開発者は特別な移植作業をすることなく,OpenSocial対応SNSにガジェットを自由に登録し利用してもらうことができるようになるのです。

図4 OpenSocialによる共通規格

OpenSocialによる共通規格

OpenSocialでは,以下の3つの仕様が,その目的ごとに策定されています。開発者が主に使用するのは,JavaScript APIおよびRESTful Protocolのどちらかになります図5)⁠

  • JavaScript API:SNSの画面に埋め込まれて実行されるガジェットの開発向け
  • RESTful Protocol:任意の場所からSNSが持つ情報にアクセスするためのAPI
  • RPC Protocol:バッチ処理をサポートしたJSON-RPC形式によるSNSコンテナ実装向けのAPI

図5 JavaScript APIとRESTful Protocol

図5 JavaScript APIとRESTful Protocol

これらのAPIを使うことによって,開発者はソーシャルなアプリケーションを開発することができるようになります。例えば,JavaScript APIによって提供される機能を,表1に示します。これからわかるように,ガジェットにソーシャル性を持たせるための非常に面白い機能がそろっています。開発者にとっては,どれも珍しい機能であるという印象を受けるのではないでしょうか。

表1 JavaScript APIにて提供される主な機能

種類 説明
Person & Friends API 会員情報の取得や,友達関係などの取得
Activities API アクティビティの作成や公開
Persistence API 情報の永続化や共有
requestShareApp 他の会員にアプリケーションを勧めるための機能
requestSendMessage 他の会員にメッセージを送信
gadgets.io.makeRequest 外部サービスとの通信

まとめ

今回は,OpenSocialが登場するに至った背景と,OpenSocialの簡単な紹介をしました。次回からは,JavaScript APIを具体的に使ったガジェットの開発について,解説を行っていきます。OpenSocialの特色を生かした題材を取り上げ,それを構成するコードに関して各APIごとに説明をしていくことにしましょう。

OpenSocialによるガジェットの開発は「どのSNSを使って動作確認を行うか」という点が非常に重要です。本連載では,日本初のOpenSocial対応SNSとなるgooホームを使って,実際に題材が動作することを確認した上で解説を行っていく予定です。

gooホームの紹介

gooホームは,gooの持つ様々なサービスをソーシャルという軸で繋ぐため2007年10月に生まれました。既に10以上のサービスと,ソーシャルグラフ/プロフィールの提供や,アクティビティの集約といった連携を行っています。

OpenSocial対応後は,サードパーティによるガジェットの開発も可能になります。この機会にぜひ登録し,OpenSocialガジェット開発の第一歩を踏み出してみてください。

著者プロフィール

田中洋一郎(たなかよういちろう)

株式会社ミクシィ所属。Google API Expert (OpenSocial)。Mash up Award 3rd 3部門同時受賞。書籍「OpenSocial入門」を出版。

URL:http://www.eisbahn.jp/yoichiro

著書