Googe Open Social調査

今回は、Google Open Social ネタで行きたいと思います。

Google CodeのOpen Socialページには、賛同している企業が続々と公開され、それに関するニュースも頻繁に見るようになりました。

個人的にはmixi以外の日本企業が無いからなのか、あるいは実際にサービスとして存在しているものが無いせいなのか、いまいち全体像というかメリットが実感できておりません。
そこで今回は、具体的にどのようなことができるのか調査してみました。

Google Open Social とは、各SNSが持つのデータを外部に提供することを目的としたAPIの仕様をまとめたものです。

  • プロフィール情報
  • 友達情報
  • 活動情報

また、Google Open Socialの利用方法は、以下の2つがあります。
  • 上記情報をOpen Socialに準拠したAPIを介し、データを提供する側(コンテナ)
  • APIからデータを取得し、サービスを作る側(デベロッパ)

今回はデベロッパの立場から、orkutが提供するAPIを使ったチュートリアルをやってみました。
ざっくりとした手順は、以下のようになります。

  1. orkutに登録
  2. orkutのテスト環境(sandbox)に登録
  3. sandbox上で友達関係を構築する
  4. GGEにてOpen Socialガジェットを作成する
  5. sandbox上のマイページに、ガジェットを追加する


1.orkutに登録

orkutは招待制ではないので、登録はこちらから簡単に行えます。(Googleアカウントが必要です。)


2. sandboxに登録

現時点では、APIはsandbox上でしか提供されていないので、こちらから利用する為の申請を行わなければなりません。僕の場合、承認されるまでに1日かかりました。。


3. 友達情報を取得するAPIを利用するため、sandbox上で友達関係を構築する。

こちらのフォーラムで、友達募集中のイケメン達がいっぱいいるので、Friend登録しまくります。
実際に登録依頼をしてみましたが、遠い外国の人たちが多いためか、いまだ承認してくれた人はいません。悲しい。。だれか友達になってください。


4. ガジェット作成

orkut上で動作するガジェットは、Googleガジェットと同一の仕様で動きます。よって、前回のエントリと同様に、GGE上でXMLを記述していく形になります。
先述のようにまだ友達がいないので、とりあえず自分の情報を出力するAPIだけを用いることにしました。

<?xml version="1.0" encoding="UTF-8" ?>
<Module>
 <ModulePrefs title="My Data">
   <Require feature="opensocial-0.6"/>
 </ModulePrefs>
 <Content type="html">
 <![CDATA[
 <script type="text/javascript">
  function getData() {
    document.getElementById('message').innerHTML = 'Requesting my data...';
    var req = opensocial.newDataRequest();
    req.add(req.newFetchPersonRequest('OWNER'), 'owner');
    req.send(showMyData);
  };
  function showMyData(dataResponse) {
    var owner = dataResponse.get('owner').getData();
    var html = 'My name is ' + owner.getDisplayName();
    document.getElementById('message').innerHTML = html;
  };
  gadgets.util.registerOnLoadHandler(getData);
  </script>
  <div id="message"> </div>
 
  ]]>
  </Content>
</Module>
太文字部分がOpen Social APIになります。上記ソースをGGEに保存し、保存先のURIをコピーします。

gge.png

5. sandbox上のマイページにガジェットを登録する

このページに行き、先ほど保存したガジェットのURIを張りつけ、登録します。

gadget.png
登録できたようです。きちんとAPIから戻り値がかえってきました。


今回は友達がいなく、友達情報を取得するAPIを利用できませんでしたが、APIリファレンスを見る限り、様々な情報を取得できるようです。

しかし残念なことに、僕が見る限りではorkutのsandbox上できちんと動いているガジェットが存在してませんでした。僕のようにチュートリアルのコードをコピペしたものや、Javascriptエラーが起きているもの、利用しているAPIのバージョンが異なってエラーになっているものなどです。皆さん結構四苦八苦されているようです。。

現時点での最新のAPIバージョンは0.7になっており、今後も機能追加やブラッシュアップされることが予想されます。APIを用いてどのようなサービスができるか想像すると楽しいですね。

コメントを投稿する