2APIの理解と利用
- 2.1REST APIリクエストの構築
API docsを読み解いて目的のタスクを実現するREST APIリクエストの組み立て——HTTPメソッド(GET/POST/PUT/PATCH/DELETE)とエンドポイント(URL)、Content-Type/Accept/Authorizationなどのヘッダ、クエリパラメータ、JSONのリクエストボディ——と、Basic認証・APIキー・Bearerトークン(OAuth)という認証方式を、「このdocsの要求どおりにリクエストを組めているか」という診断として学びます。
- 2.2HTTP応答の解釈
API応答を構成するステータスコード(2xx成功/3xxリダイレクト/401未認証・403権限不足・404不在・429レート超過/5xxサーバ側)、応答ヘッダ(Content-Type・Retry-After・WWW-Authenticate等)、応答ボディ(エラーメッセージを含むJSON)を読み、コード+自分が送ったリクエスト+docsの三つ組で原因を切り分けてトラブルシュートする判断を学びます。
- 2.3API利用パターンと制約
イベント発生時にサーバからクライアントへ通知を送るWebhook(ポーリングの逆呼び出し)と、API消費時に必ず直面する制約——単位時間あたりの呼び出しを制限するレート制限(429・Retry-After・指数バックオフ)と、大量データを分割して返すページネーション(limit/offset・カーソル・nextリンク)——を、「この要件にはポーリングかWebhookか」「この429や途切れたデータをどう扱うか」という判断・診断として学びます。
- 2.4APIスタイルの比較
リソース指向でステートレスなREST(URLで表したリソースをHTTPメソッドで操作)と、手続き(関数)の呼び出しとして設計するRPCの違い、そして呼び出し側が応答を待つ同期(synchronous)と、要求を受理だけして後で結果を返す非同期(asynchronous)(202 Accepted+ポーリング/コールバック)の使い分けを、「この要件・この処理時間にはどのスタイルが適切か」という設計判断として学びます。
- 2.5Python requestsでのAPI呼び出し
PythonのrequestsライブラリでREST APIを呼ぶスクリプトの構築——requests.get(url, headers=, params=, auth=)/requests.post(url, json=)によるリクエスト送信と、resp.status_code(コード確認・resp.raise_for_status())・resp.json()(JSONボディをdictへパース)・resp.headersの読み取り——を、「このrequestsスクリプトのどこが誤りで、なぜ期待どおり動かないか」という診断・修正として学びます。

