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