第3回 Web APIって何? その他2

JSONPを知る

 はてなブックマークはソーシャルブックマークサービスの1つですが、「"http://b.hatena.ne.jp/entry/json/?url= 調べたい URL&callback= コールバック関数名 "」というGETリクエストを送信することでブックマーク数やブックマークしているユーザの情報をJSONPとして取得することができます。

 例えば、「http://b.hatena.ne.jp/entry/json/?url=http%3A%2F%2Fwww.hatena.ne.jp%2F&callback=func」にWebブラウザでアクセスすると、以下のようなJSONPが返却されるはずです(URLやコールバック関数名はURLエンコードが必要な点に注意してください)。

 func({"count":"1608","url":"http://www.hatena.ne.jp/", ...})

 見ての通り、JSONデータを引数にcallbackパラメータで指定した関数を呼び出すJavaScriptコードが返却されていることがわかります。

 実際のアプリケーションでは<script>要素のsrc属性にJSONPのURLを指定することで、上記のようなJavaScriptをインポートします。すると、JavaScriptがインポートされたタイミングでコールバック関数が呼び出されます。Web APIの利用者はコールバック関数(この場合はfunc関数)を実装することで、JSONPで取得したJSONデータを処理することができるわけです。

はてなブックマークのWeb APIを使ってみよう

 それでは実際に、はてなブックマークWeb APIを使用したサンプルを作成してみます。まずは、はてなブックマークのWeb APIで取得できるJSONデータの構造を確認しておきましょう(図2)。

 コールバック関数には、この構造のオブジェクトが引数として渡されます。今回のサンプルではこれらのデータを使用して、ブックマーク数とスクリーンショットを画面上に表示します。

 サンプルのソースコード(リスト1)と実行結果は、図2のようになります。HTMLにはあらかじめ<span>要素や<div>要素で情報の表示位置を決めておき、JSONPのコールバック関数でこれらの要素のinnerHTMLプロパティに表示内容をセットしています。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值