この記事ではPythonのAPIについて解説をしたいと思います。Pythonには色々なWebサービスのAPIが提供されています。
Pythonでインターネット上にあるデータを扱いたい
今回の記事ではこのように思っている方に向けて、
- 【基礎】APIとは
- 【基礎】APIを使う意味
- 【基礎】APIの種類
Pythonで使える様々なAPIについて見ていきましょう!
なお、Pythonの記事については、こちらにまとめています。
APIとは
まずはAPIとは何かについて知っておきましょう。APIとは、ソフトウェアの機能を別のソフトウェアでも共有できるようにするための橋渡し役のようなものです。APIは様々な企業の様々なWebサービスで用意されていて、これらのAPIを使えばプログラミングで扱うことができる情報が格段に増えます。
またWindowsやMacなどのOSにもAPIが用意されていて、これらのAPIではウィンドウの描画やアラートなど、基本的な共通部分を簡単に使えるようになっています。詳しくはこちらの記事をご覧ください。
APIを使う意味
ここでAPIを使う意味について今一度おさらいしておきましょう。APIを使う意味は大きく分けて2つあります。
1つ目は、取得したいデータが明確になっているときです。先程も話したようにどこかのWebサービスで使われているデータを取得したいときは、APIを使う必要が出てきます。APIを使うための学習コストはありますが、大抵の場合はWebサービスがリファレンスやサンプルを用意しているので困ることは無いでしょう。
2つ目は、複雑なコードを書かないためです。APIが用意されている場合は積極的にそのAPIを利用しましょう。APIには複雑な処理がすでに用意されています。インターネットに接続して情報を取得するものだけがAPIではありません。
WindowsやMacなどのOSにもAPIが用意されていて、それらを使えば簡単にGUIのウィンドウを作ることが出来ます。このように複雑な処理を隠して、必要な部分だけを使えるようにしてくれるのがAPIの役割でもあります。
APIの種類
それではPythonにはどのようなAPIが用意されていて、どのような機能があるのかを見てみましょう。
REST API
REST APIはWebのシステムを外部から扱うためのAPIです。このREST APIはどこかで作られているわけではありません。
RESTという設計モデルに沿ったAPIの総称で、Webサービスで提供されているAPIは基本的にはREST APIの一部になります。
Twitter API
APIの中でも有名なのがTwitter APIです。TwitterのクライアントはiOSやAndroidなどでたくさんリリースされていますが、これらはTwitter APIを利用してプログラムされています。逆に言えばAPIに無い機能は自分で実装する必要があり、そこが他のTwitterクライアントとの差別化を図る部分にもなってきます。
Twitterの公式アプリでできることは基本的には出来ますが、UserStreamという流れるようなタイムラインを実現する機能は削除されたこともニュースになりました。Pythonでは公式で配布されているTwitter APIをより使いやすくラッパーしたAPIも配布されています。
LINE Messaging API
LINEにもAPIが用意されています。このLINE APIを使えばチャットボットなどもPythonで実装することが出来ます。
iOSで通知をするアプリを実装するのはやや面倒ですが、何かアクションが起きたときにLINE APIを使ってメッセージを送れば間接的にではありますが通知の機能を実装させる事もできます。
bitFlyer API
bitFlyerはビットコインなどの暗号通貨、仮想通貨を取引できる取引所です。
このbitFlyer APIでは通貨の取引や自分の資産、チャットの履歴などを取得することが出来ます。言い換えると、PythonとbitFlyer APIで自動売買システムをコーディングすることが出来ます。
ハードルが高そうにも見えますが難しい部分はAPIが隠してくれています。
まとめ
この記事ではPythonのAPIについて、APIを使う意味やどのようなAPIがあるのかについて解説してきました。APIを全くわからなかった方は、なんとなく分かっていただけたでしょうか?
今回紹介したAPIはそれぞれとても奥が深い機能を持っています。Pythonを学んだけど何をしていいかわからないという方は、ぜひAPIを使って新しいデータを取り入れたコーディングをしてみてください!