本記事ついて
本記事は プログラミング初学者の私が学習していく中でわからない単語や概要をなるべくわかりやすい様にまとめたものです。
もし誤りなどありましたらコメントにてお知らせいただけるとありがたいです。
APIを叩く上で必要な情報
APIに接続するための情報
・API登録のタイミングで入手
・サービスに接続するためのURLであるAPIエンドポイント
・接続に必要なID的要素、APIキーが必要
APIに送信する情報
・基本的には各APIのドキュメントに細かく記載
HTTP:どのHTTPメソッドを使用するか(主にPOSTかGETを使用)
header:ヘッダーにはデータの種類や、APIキーなどの認証情報を記載
body:JSON形式で送受信したい情報(データ)を記載
JSONを理解する
リクエストの送信・レスポンスにはJSONフォーマットの理解が必要
JSONとは
JavaScript Object Notationの略
JavaScriptのオブジェクトの書き方を元にしたデータフォーマット
XMLなどと同様のテキストベースのデータフォーマット
XML
タグと呼ばれるものを用いてデータ構造を表現
開始タグと終了タグが対になった表記方法
<?xml version="2.0" encoding="utf-8"?>
<data>
<item>
<id>1</id>
<name>lmanyu</name>
</item>
<item>
<id>2</id>
<name>lmanishi</name>
</item>
</data>
XMLは直感的に理解しにくい点がある
JSON
[
{"id":"1","name":"lmanyu"},
{"id":"2","name":"lmanishi"}
]
同じデータを扱っているにも関わらず情報量に大きな違いが出る
JSONの書き方
JSONは{}の中にキーとバリューをコロンで区切って記述する
{
"id":"1",
"name":"lmanyu"
}
キーは必ずダブルクォーテーションで囲む必要があり、シングルクォーテーションだとエラーになってしまう
HTTPメソッド
クライアント(API使用者/ユーザー)が行いたい処理をサーバー(API側)に伝えるという役割
GET
WebページやAPIからのデータ取得
cssファイルやjavascriptファイルと言ったデータ取得
POST
フォームからデータを送信
アカウントの新規作成
新規データを作成
PUT
既存データの編集
(アカウントやツイート情報、SNS上でのコメントなどを編集)
DELETE
データの削除
(アカウントやブログ記事、その他様々なデータを削除する)
Pythonを用いてAPIを使ってみる
今回はJSONPlaceholderを使用
その中のpostsを使う
!pip3 install requests
リクエストを送るのに必要なライブラリ
インポート
import requests
エンドポイントを変数urlに格納
url = 'https://jsonplaceholder.typicode.com/posts/'
HTTPメソッドのGETを使用
requestsを使用してgetの中に変数urlを入れる、そして変数resに格納
res = requests.get(url)
res.status_codeを入れて叩くと
200
が返ってきたら成功です
res.json()と叩くとレスポンスの中身をJSON形式で取得できます。
res.json()[:5]
これで前5個見れる
とりあえず、最初のデータを変数datumに格納
datum = res.json()[0]
欲しい情報だけをとる
[]のなかに記入
とりあえず、titleを取ってくる
datum['title']
特定の情報を取ってくる
とりあえず、ID10番目の情報を取ってくる
url = 'https://jsonplaceholder.typicode.com/posts/'
body = {
'id': 10
}
res = requests.get(url, body)
res.json()
参考資料
https://www.udemy.com/course/python-web-api/learn/lecture/25073250#overview