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