見出し画像

プログラムで副業を始めるのにAPIを試さなきゃ始まらない



まずは実際にAPIを使ってみよう

curlってコマンドはご存知でしょうか?curl は URL 指定でデータを送受信するためのコマンドラインツールです。

実はAPIとは「 URL 指定でデータを送受信」することなんですね(すごく簡単に言いました。)

じゃあ、普段ウェブページを見てるときもAPIは使われてるの?→大正解!
URLから情報を取りたいときは「GET」メソッドを使用してるんだ。ちなみに送信したいときは「POST」を使ってるよ。これらの詳しい解説はまた今度ね。

CurlでURLだけ指定すると、GETメソッドが呼ばれるようになるんだ。つまり「データの取得」だね。下記に天気予報のAPIから実際に情報を取ってきた例を挙げてみたよ。

ぜひやってみてね!

  1. コマンドプロンプトを開く(windowsの検索窓からcmdと検索すると出てくるよ)

  2. 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
█████████████████████████████
█████████████████████████████
████ ▄▄▄▄▄ ███▄█ █ ▄▄▄▄▄ ████
████ █   █ █▄█▄█▀█ █   █ ████
████ █▄▄▄█ ██ ▀ ▄█ █▄▄▄█ ████
████▄▄▄▄▄▄▄█ █ █▄█▄▄▄▄▄▄▄████
████ ▄▄█ ▄▄ ▄▀ ▀▄▄ ▀▀█▄▀▀████
███████▀ ▀▄ ██▄ ▀▄█▄ ▄▄ ▄████
████▄▄▄█▄▄▄█ ▄  █ █▄▄█▀▀█████
████ ▄▄▄▄▄ █ ▄ ▀ ██▄ █▄ ▄████
████ █   █ █▄▄▄▀██▀▄██▀ █████
████ █▄▄▄█ █ ▄█▀▄█▄▄ █▄▀▄████
████▄▄▄▄▄▄▄█▄▄█▄▄██▄███▄▄████
█████████████████████████████
█████████████████████████████


Hello_World

APIってなんで必要なの?

例えばだけど、Xでツイートする機能を自分で作ろうとすると、一からX社のエンジニアが作ったようなものを作らないといけない。ソースはGithubに公開されてるからできなくはないんだろうけど、、、

APIはそんなことしなくても、あるURLに特定のメソッドでアクセスすることで、機能を借りることができるというものなんだ。もちろん、使いたい機能を作った企業が、それを公開していない場合はAPIで使えないんだけどね。

APIは副業でどう生かせる?


よく副業でプログラムを実装するときに見る部分はその機能のAPIが存在するのか。それは無料なのか有料なのか。APIを利用するのに必要なものはアカウントなのか誰でも使えるのか。

APIが見つかれば工数はかなり抑えられる。いまはまだ紹介できていないけど、APIを叩くコードは割と簡単にかけるんだ。さっきやったみたいにCurlでちょちょってやるみたいな感じだよ。

てなもんで、APIってすごく重要なものなんです。これを使いこなすことが、当面の目標のひとつにしてほしいな!!

一緒に頑張ろう!!

この記事が気に入ったらサポートをしてみませんか?