第3回 Web APIって何? その他1
来源:互联网 发布:黑马程序员ios视频 编辑:程序博客网 时间:2024/04/28 07:07
Web APIとJSON
Web上ではネットショッピング、ブログ、SNSなどさまざまなサービスが提供されています。これらのサービスの中にはWebブラウザから利用するだけでなく、サービスの機能の一部をプログラムから利用可能なAPI(Web API)として提供しているものもあります。Web開発者はWeb APIを利用したアプリケーションを開発したり、既存のWebサイトにWeb APIを利用した機能を追加することなどが可能です。
なお、Web APIを使用し、複数のサービスの機能を組み合わせたり、独自の機能を追加したサービスを構築することをマッシュアップと呼びます。
これらのWeb APIの多くはXMLで情報を返すものが多いのですが、中にはJSONで情報を返却するWeb APIも存在します。そこで、今回はJSONを使用するWeb APIの利用方法を紹介します。
Ajaxのクロスドメイン制約
しかし、Ajaxで使用するXMLHttpRequestにはセキュリティ上、そのHTMLファイルが置かれているドメインのサーバとしか通信できないという制約があるため、Ajaxアプリケーションから直接これらのWeb APIを利用することはできません(図1)。この制約をクロスドメイン制約と呼びます。もちろんサーバサイドでWeb APIの呼び出しを行って結果をコンテンツとして出力することは可能ですし、自分のドメインに別ドメインのWeb APIへのリクエスト・レスポンスを中継するプロキシを設置すればAjaxでこれらのWeb APIを利用することも可能です。
そこで登場するのがJSONPです。
JSONPとは上記のAjaxによるクロスドメイン制約を回避するために考案された手法で、<script>要素のsrc属性でJSONデータを引数に取る関数を呼び出す外部JavaScriptをインポートするというものです。これは<script>要素で外部JavaScriptファイルをインポートする場合に、別ドメインのファイルでも参照可能という仕様を利用しています。
説明だけではわかりにくいと思うので、次のページではJSONPを使用しているWeb APIの実例として、はてなブックマーク(http://b.hatena.ne.jp/)のWeb APIを試してみましょう。
また、今回紹介するサンプルはダウンロードできますので、このファイルを見ながら解説します。ダウンロード(http://www.thinkit.co.jp/images/article/70/3/7031.zip)(7031.zip/32.1KB)。
- 第3回 Web APIって何? その他1
- 第3回 Web APIって何? その他3
- 第3回 Web APIって何? その他2
- 第1回 JSONってなにもの?その他3
- 第1回 JSONってなにもの? その他1
- 第1回 JSONってなにもの? その他2
- 第2回 JSONを使ってみよう!その他3
- 第2回 JSONを使ってみよう!その他1
- 第2回 JSONを使ってみよう! その他2
- 天声人語 20151107 第4次産業革命って何?
- 何为API?
- 第11章 ASP.NET Web API(WCF宿主+Web API、OWIN宿主+Web API)
- Web API与OAuth:既生access token,何生refresh token
- 第何屯淮唐财梦涛舜耘罕粱诤柯乙
- 何为web开发
- Diablo 3 Web API
- 阿里云部署Web API 总结(及其他可能部署方式)
- 离开他第一天
- Android 开发之使用Eclipse Debug调试详解
- 第2回 JSONを使ってみよう! その他2
- strust2.2.3版本启动报错struts-plugin.xml:8:162
- 第2回 JSONを使ってみよう!その他3
- vmware-install.pl command not found
- 第3回 Web APIって何? その他1
- 输出任意大小菱形
- BPMN这点事-BPMN核心元素(下)
- 第3回 Web APIって何? その他2
- 第3回 Web APIって何? その他3
- 程序江湖:第十八章 察颜观色的伙伴
- android源码下载时repo sync报联接超时错的解决方案
- Nginx多进程并发连接处理模型
- 安装GTK开发包