Web API The Good Partsまとめ

Web APIに特化した書籍を購入したので、気になった箇所を簡単にまとめます。

Web APIとは何か

サーバー側の情報を書き換えたり、サーバー側に置かれた情報を取得できたりするウェブシステムで、プログラムからあくせすして そのデータを機会的に利用するものです。

どんなAPIがあるか

さまざまなAPIを集め、その情報を公開しているAPIディレクトリサービス。

ProgrammableWeb
The leading source of news & information about APIs, chronicling the evolution of the global API economy & providing the web’s most relied-on API Directory
海外・国内の便利なAPI一覧 - API LIST 100+
海外・国内で公開されている気になるAPIをリストアップしています。キーワードでのAPI検索やソーシャルメディア、マップ・位置情報、コマース、写真、動画といったジャンルでもAPIを探せます。

APIは公開すべき

スクレイピングをすれば簡単にAPIを作成するこができますし、以下のような簡単にAPIを作成するサービスもあります。

URLを入力するだけ!コンテンツをスクレイピングしてデータ化してくれる無料ツール「import.io」
コンテンツの中に含まれる連続したデータを自動判別してデータ化してくれる「import.io」という無料WEBサービスの紹介です。アプリを利用することで、細かな設定なども行えます。

import.ioを利用すれば簡単に、APに変換が行え、逆に情報の取得をコントロールできなくなる可能性もあります。

使いやすいAPIを用意し、さらに便利なサービスを目指すべきです。

サービスの価値を直営店(自分のサービス)で提供するだけでなく、小売店(他のアプリケーション)で利用できるようにしなければ、自社のサービスを拡販していくことは難しい世の中になってきているというわけです。

エンドポイントの単語つなぎ

エンドポイントで特にこだわりがない場合は、スパイナルケース(user-id)を使用を推奨されています。
理由はWebページのURLの多くがスパイナルケースを利用されており、それに合わすのが無難ということです。

逆にデータセットはJSONに合わせ、キャメルケース(userId)を使用します。

データフォーマットの指定方法

  • クエリパラメーターを使う方法
  • 拡張子を使う方法
  • リクエストヘッダでメディアタイプを指定する方法
  • クエリパラメーターを使う場合

    一般的に使われるのはクエリパラメーターで指定する方法です。

    https://api.linkedin.com/v1/people/?format=json

    拡張子を使う場合

    Quandlでは拡張子を使う方法で指定します。

    https://www.quandl.com/api/v3/datasets/XJPX/13760.json

    リクエストヘッダでメディアタイプを指定する場合

    HTTPの仕様に最もあった方法であるのですが、初心者が気軽に試すには少し難しい利用方法になります。

    API Blueprint

    API Blueprintとは、Web APIのドキュメントを書くためのMarkdownによる記法。

    API BlueprintでWeb APIのドキュメントを生成する - Qiita
    ## 概要 この記事ではAPI Blueprint形式でWeb APIの仕様をMarkdownっぽく記述しつつ、aglioで自動的にドキュメント化してみます。 ## インストール まずHomebrewでnode.jsをインストール...

    APIコンソール

    APIコンソールを用意すれば、開発者はスクリプトを書かずに試すことができるので、開発効率をあげることができます。
    以下はFacebookのAPIコンソールです。

    グラフAPIエクスプローラ - 開発者向けFacebook

    APIコンソールを用意するのは大変なので、Apigeeを使えば簡単に作成できるとこのことです。
    Apigeeについての日本語記事。

    APi Gateway Platform Apigee (1) XMLからJSONへのデータ変換 - Qiita
    APigeeの調査をすることになったのですが、あまり日本語での資料がなかったので、2016年10月時点で調べたことをまとめておきます。 **※2016年11月にリニューアルが行われたようですが、画面遷移時にバグるみたいで、いきなりサ...

    Honeywellのデバイスとやりとりを行うApigeeで作られたAPIサーバー。

    Honeywell Developer Portal | Round Thermostat Getting Started Guide

    Webやアプリだけでなく、IoTにもAPIが利用され、今後はますます堅牢なAPIの設計が重要になってくると思われます。

    コメント