Web アプリを開発する上で重要となるものの一つに API がある。世界中の様々な Web サイト/アプリが自社サービスを利用してもらうために API を公開している。Google Maps API や Twitter API なんかは特に有名だろう。最近は聞かなくなったが、これら API を組み合わせて新たな Web アプリを作る事を「マッシュアップ」と呼んだりもした。
しかし公開されている API の種類は非常に多く、探したり API 毎に使い方を確認するのは結構大変だ。プログラミング言語によってはライブラリが用意されておらず利用する事が面倒な事もある。
そういう場合には RapidAPI という Web サービスを利用すると世界中の API から検索したり API へアクセスしたりといった事が簡単に利用できる。
API Marketplace & Directory - Search APIs | RapidAPI Marketplace日本では楽天と提携し2018年7月11日に「Rakuten RapidAPI」としてサービスを展開した。
API Marketplace & Directory - Search APIs | Rakuten RapidAPI Marketplaceトップページは以下のような感じで大きな検索窓と登録されている API の一覧が表示されている。
API を探すだけであればユーザー登録は不要だ。カテゴリー毎にわかれていて探しやすいし、一覧を順に見ていくだけでもどのような API があるのかを確認できるので、新たな Web サービスのアイデアが思いつくかもしれない。
登録を行えば RapidAPI から各 API を利用できる。
例えば Google Maps の Geocoding API であれば以下のような感じだ。
このように API Key とパラメーターを入力して「テストする」ボタンを押すと結果が表示される。API を試すのにコードを記述する必要すら無い。
実際に RapidAPI 経由でコードを記述する際には RapidAPI の提供するライブラリを用いる事となるようだ。例えば Ruby で Geocoding API を利用する際のコードは以下のようになる。
require 'rapidapisdk'
RapidAPI.config(project: "PROJECT_NAME", token: "RAPIDAPI_TOKEN")
response = RapidAPI.call('GoogleGeocodingAPI', 'addressToCoordinates', {
'address': 'Tokyo Chiyoda-ku 1-1',
'apiKey': 'GOOGLEMAPS_API_KEY'
})
rapidapisdk は bundle install でインストールできる。
Ruby 以外にも NodeJS, PHP, Python, Objective-C, Java(Android), C#(.NET), cURL, go, Elixir, Javascript に対応している。主要な言語に対応している上に cURL も利用できるのでその他の言語でもやろうと思えば API へアクセスできる。
Web 開発者であれば是非利用する事をオススメする。