OpenSocial Pages for Google Apps で osapi.http API を使えるようにしました。
osapi.http は gadgets.io.makeRequest メソッドに相当するものです。さらに osapi.http は、バッチリクエストにも対応するため、gadgets.io.makeRequest メソッド以上のメリットがあります。
- 1回の API 呼び出しで、複数の外部サーバにまとめてリクエストできます
- 1回の API 呼び出しで、SNS のデータと外部サーバのデータをまとめてリクエストできます
function init() { var batch = new osapi.newBatch() .add('viewer', osapi.people.getViewer()) .add('videos', osapi.http.get({ href: 'http://gdata.youtube.com/feeds/api/users/nakajiman1/uploads?alt=json', format: 'json' })); batch.execute(function(r) { gadgets.log(r.viewer.displayName); // Nobuhiro Nakajima gadgets.log(r.videos.status); // 200 gadgets.log(r.videos.content); // Object { version="1.0", more... } }); } gadgets.setLogLevel(gadgets.log.INFO); gadgets.util.registerOnLoadHandler(init);従来は Viewer のプロフィール情報は opensocial.newFetchPersonRequest メソッドと gadgets.io.makeRequest メソッドを別々に呼び出して、非同期のコールバックのタイミングを制御して、レスポンスをまとめる必要がありました。
が、osapi.http を使えばそんな必要はなく、Gadgets(=Apps) のソースコードをシンプルにより分かりやすく記述することができます。
OpenSocial Pages がサポートする osapi.http のオプションやフィールドは、OpenSocial Pages ドキュメントの Core Gadgte Spec と Core Data Spec に記載しておきました。
0 件のコメント:
コメントを投稿