opensocial-jqueryの履歴

jQueryにopensocialの開発ができるように色々拡張したもの。
opensocialアプリ開発はcallback地獄になるのでJSDeferredが便利。これなしじゃ無理だ…。
http://code.google.com/p/opensocial-jquery/

jQuery.Deferred


標準の方法ではリクエストした時点でcallbackを定義しとかなきゃならないけど、これを使えばリクエスト終了後の状態をDeferredオブジェクトとして保持できる。

値の受け渡しについて

returnしたものを次の関数の引数で受ける

$.next(function(){
  return 5;
}).next(function(value){
  alert(value) // 5
});

実践サンプル

閲覧者情報取得

$.getData('/people/@viewer/@self').next(function(response){
  return response[0];
}).error(function(e){
  console.log(e);
});

アプリケーションデータ取得

$.getData('/appdata/@viewer/@self').next(function(response){
  // responseは{userid: data}のオブジェクト。これでいいのかどうかはしらん
  for (k in response){
    return response[k];
  }
});


以下略。(自分=閲覧者です)
友人の情報を取得
/people/@viewer/@friends

友人のアプリケーションデータを取得
/appdata/@viewer/@friends

アクティビティ送信
/activities/@viewer/@self でいけるらしいけどできなかった。

自分のアクティビティを取得。試してない
/activities/@viewer/@self

友人のアクティビティを取得。試してない
/activities/@viewer/@friends