プログラムで副業を始めるのにAPIを試さなきゃ始まらない
まずは実際にAPIを使ってみよう
curlってコマンドはご存知でしょうか?curl は URL 指定でデータを送受信するためのコマンドラインツールです。
実はAPIとは「 URL 指定でデータを送受信」することなんですね(すごく簡単に言いました。)
じゃあ、普段ウェブページを見てるときもAPIは使われてるの?→大正解!
URLから情報を取りたいときは「GET」メソッドを使用してるんだ。ちなみに送信したいときは「POST」を使ってるよ。これらの詳しい解説はまた今度ね。
CurlでURLだけ指定すると、GETメソッドが呼ばれるようになるんだ。つまり「データの取得」だね。下記に天気予報のAPIから実際に情報を取ってきた例を挙げてみたよ。
ぜひやってみてね!
コマンドプロンプトを開く(windowsの検索窓からcmdと検索すると出てくるよ)
curl wttr.in と打ち込む
>curl wttr.in
Weather report: Yurihonjo-shi, Japan
\ / Partly cloudy
_ /"".-. 12 °C
\_( ). ↓ 19 km/h
/(___(__) 10 km
0.0 mm
┌─────────────┐
┌──────────────────────────────┬───────────────────────┤ Mon 22 Apr ├───────────────────────┬──────────────────────────────┐
│ Morning │ Noon └──────┬──────┘ Evening │ Night │
├──────────────────────────────┼──────────────────────────────┼──────────────────────────────┼──────────────────────────────┤
│ \ / Partly cloudy │ \ / Partly Cloudy │ Overcast │ \ / Clear │
│ _ /"".-. +12(17) °C │ _ /"".-. 21 °C │ .--. 16 °C │ .-. +12(11) °C │
│ \_( ). ↓ 19-26 km/h │ \_( ). ← 8-9 km/h │ .-( ). ← 10-20 km/h │ ― ( ) ― ← 9-16 km/h │
│ /(___(__) 10 km │ /(___(__) 10 km │ (___.__)__) 10 km │ `-’ 10 km │
│ 0.0 mm | 0% │ 0.0 mm | 0% │ 0.0 mm | 0% │ / \ 0.0 mm | 0% │
└──────────────────────────────┴──────────────────────────────┴──────────────────────────────┴──────────────────────────────┘
┌─────────────┐
┌──────────────────────────────┬───────────────────────┤ Tue 23 Apr ├───────────────────────┬──────────────────────────────┐
│ Morning │ Noon └──────┬──────┘ Evening │ Night │
├──────────────────────────────┼──────────────────────────────┼──────────────────────────────┼──────────────────────────────┤
│ \ / Sunny │ Cloudy │ \ / Sunny │ \ / Clear │
│ .-. 16 °C │ .--. 19 °C │ .-. 13 °C │ .-. +9(8) °C │
│ ― ( ) ― ← 9-10 km/h │ .-( ). ← 15-17 km/h │ ― ( ) ― ↖ 12-20 km/h │ ― ( ) ― ↖ 9-17 km/h │
│ `-’ 10 km │ (___.__)__) 10 km │ `-’ 10 km │ `-’ 10 km │
│ / \ 0.0 mm | 0% │ 0.0 mm | 0% │ / \ 0.0 mm | 0% │ / \ 0.0 mm | 0% │
└──────────────────────────────┴──────────────────────────────┴──────────────────────────────┴──────────────────────────────┘
┌─────────────┐
┌──────────────────────────────┬───────────────────────┤ Wed 24 Apr ├───────────────────────┬──────────────────────────────┐
│ Morning │ Noon └──────┬──────┘ Evening │ Night │
├──────────────────────────────┼──────────────────────────────┼──────────────────────────────┼──────────────────────────────┤
│ \ / Sunny │ \ / Partly Cloudy │ .-. Light rain │ .-. Light rain │
│ .-. +13(10) °C │ _ /"".-. +15(13) °C │ ( ). +11(9) °C │ ( ). +12(10) °C │
│ ― ( ) ― ← 24-27 km/h │ \_( ). ← 28-32 km/h │ (___(__) ← 17-25 km/h │ (___(__) ← 16-25 km/h │
│ `-’ 10 km │ /(___(__) 10 km │ ‘ ‘ ‘ ‘ 9 km │ ‘ ‘ ‘ ‘ 9 km │
│ / \ 0.0 mm | 0% │ 0.0 mm | 0% │ ‘ ‘ ‘ ‘ 1.1 mm | 100% │ ‘ ‘ ‘ ‘ 1.7 mm | 100% │
└──────────────────────────────┴──────────────────────────────┴──────────────────────────────┴──────────────────────────────┘
Follow @igor_chubin for wttr.in updates
こっちはテキストをQRコードに変換してくれるAPIだよ!このAPIはスラッシュ以降の文字列を見ているんだね。GETには様々な方法でデータを取ってくることができることがこれでわかると思う。
画面に張り付けるとQRコードが読み込めなかったからキャプチャしてきたよ。
>curl qrenco.de/Hello_World
█████████████████████████████
█████████████████████████████
████ ▄▄▄▄▄ ███▄█ █ ▄▄▄▄▄ ████
████ █ █ █▄█▄█▀█ █ █ ████
████ █▄▄▄█ ██ ▀ ▄█ █▄▄▄█ ████
████▄▄▄▄▄▄▄█ █ █▄█▄▄▄▄▄▄▄████
████ ▄▄█ ▄▄ ▄▀ ▀▄▄ ▀▀█▄▀▀████
███████▀ ▀▄ ██▄ ▀▄█▄ ▄▄ ▄████
████▄▄▄█▄▄▄█ ▄ █ █▄▄█▀▀█████
████ ▄▄▄▄▄ █ ▄ ▀ ██▄ █▄ ▄████
████ █ █ █▄▄▄▀██▀▄██▀ █████
████ █▄▄▄█ █ ▄█▀▄█▄▄ █▄▀▄████
████▄▄▄▄▄▄▄█▄▄█▄▄██▄███▄▄████
█████████████████████████████
█████████████████████████████
APIってなんで必要なの?
例えばだけど、Xでツイートする機能を自分で作ろうとすると、一からX社のエンジニアが作ったようなものを作らないといけない。ソースはGithubに公開されてるからできなくはないんだろうけど、、、
APIはそんなことしなくても、あるURLに特定のメソッドでアクセスすることで、機能を借りることができるというものなんだ。もちろん、使いたい機能を作った企業が、それを公開していない場合はAPIで使えないんだけどね。
APIは副業でどう生かせる?
よく副業でプログラムを実装するときに見る部分はその機能のAPIが存在するのか。それは無料なのか有料なのか。APIを利用するのに必要なものはアカウントなのか誰でも使えるのか。
APIが見つかれば工数はかなり抑えられる。いまはまだ紹介できていないけど、APIを叩くコードは割と簡単にかけるんだ。さっきやったみたいにCurlでちょちょってやるみたいな感じだよ。
てなもんで、APIってすごく重要なものなんです。これを使いこなすことが、当面の目標のひとつにしてほしいな!!
一緒に頑張ろう!!
この記事が気に入ったらサポートをしてみませんか?