応用編 第8章

外部APIの活用

天気予報、地図、AI——世の中のサービスの多くは「API」という窓口を公開しています。これを使えるようになると、あなたのアプリは外の世界とつながり、できることが一気に広がります。

この章のレッスン
  1. APIとは何か
  2. はじめてのAPI呼び出し
  3. APIキーの管理と安全な使い方
  4. AI(Claude API)をアプリに組み込む
  5. ハンズオン:天気つきお出かけメモ

8-1APIとは何か

APIとは、サービスが外部のプログラム向けに用意した「注文窓口」です。レストランにたとえると分かりやすいです。

レストランのたとえ

「東京の今日の天気をください」と決められた形式で注文(リクエスト)すると、「晴れ、最高気温28度」のようなデータが返ってくる(レスポンス)。形式が決まっているからこそ、プログラム同士が会話できるのです。

データはJSONという形式で返ってくる

レスポンスの例(JSON形式)
{
  "city": "Tokyo",
  "weather": "晴れ",
  "temp_max": 28,
  "temp_min": 19
}

JSONは「項目名: 値」を並べたデータの書き方。APIの世界の共通語です。波かっこと引用符だらけですが、よく見れば意味は読み取れるはず。これも「読めればOK、書くのはAI」です。

無料で使える身近なAPIの例

💡 ここだけ押さえる ・API = サービスの「注文窓口」。決められた形式で頼むとデータが返る
・返ってくるデータの形式はJSONが主流
・無料で使えるAPIがたくさん公開されている

8-2はじめてのAPI呼び出し

百聞は一見にしかず。登録不要・無料の天気API「Open-Meteo」で体験してみましょう。

ブラウザだけでAPIを呼んでみる

実はAPIの多くは、URLをブラウザに入れるだけで呼び出せます。次のURLをアドレス欄に貼ってみてください(東京の現在気温が返ってきます)。

ブラウザのアドレス欄に貼り付け
https://api.open-meteo.com/v1/forecast?latitude=35.68&longitude=139.69¤t_weather=true

画面にJSONが表示されたら、それがAPIのレスポンスです。「temperature」の項目に今の気温が入っています。

アプリからAPIを呼ぶ

JavaScriptからはfetchという命令でAPIを呼びます。仕組みを知っておけば、あとはAIに任せられます。

プロンプト例
練習用に「東京の今の気温を表示するだけ」の
シンプルなWebページを作ってください。
Open-MeteoのAPIを使い、fetchの部分には
初心者向けの日本語コメントを多めに付けてください。
🖐 やってみよう 上のプロンプトで気温ページを作ったら、「自分の住んでいる街の気温に変えて」と頼んでみましょう。緯度経度の調べ方もClaudeが教えてくれます。

8-3APIキーの管理と安全な使い方

Open-Meteoは登録不要でしたが、多くのAPIはAPIキー(利用者ごとの合鍵)の発行が必要です。この合鍵の扱いが、API利用の最重要マナーです。

なぜAPIキーを守る必要があるのか

APIキーには利用量があなた名義で記録されます。有料APIのキーが漏れると、他人に使われた分まであなたに請求される可能性があります。AIのAPIキー流出で高額請求、は実際に起きている事故です。

APIキー管理の鉄則

  1. コードに直接書かない — 特にGitHubに上げるコードには絶対に
  2. フロントエンドに埋め込まない — ブラウザで動くコードは誰でも中身を見られます。有料APIのキーはサーバー側(またはCloudflare Workersなどの中継役)に置くのが原則
  3. 利用上限を設定する — 多くのAPIは管理画面で月間上限額を設定できます。最初に必ず設定
  4. 漏れたらすぐ無効化 — APIキーは管理画面からいつでも作り直せます
AIに相談するときのプロンプト
このアプリで○○のAPIを使いたいです。APIキーが必要ですが、
フロントエンドだけの構成なので、キーを安全に扱う方法を
提案してください。Cloudflareでホスティングしています。
⚠️ 合言葉 「APIキーはクレジットカード番号と同じ」。人に見せない、ネットに書かない、使う場所を選ぶ。

8-4AI(Claude API)をアプリに組み込む

第2章で「APIはプログラムからAIを呼ぶ形態」と学びました。いよいよそれを実践します。あなたのアプリ自体がAIの力を持つようになります。

何ができるようになるか

仕組みと注意点

Claude APIは、Anthropicのサイト(console.anthropic.com)でAPIキーを発行し、リクエストにプロンプトを載せて送ると、AIの返答が返ってくる仕組みです。注意点は2つ。

  1. 従量課金 — 使った分だけ料金がかかります(個人利用なら月数百円程度のことが多いですが、上限設定は必須)
  2. キーはフロントに置けない — 前レッスンの通り。Cloudflare Workersを「中継役」にするのが定番構成です
プロンプト例
私の日記アプリに「書いた日記へAIがひとこと感想をくれる」
機能を追加したいです。

【条件】
- Claude APIを使う(APIキーは発行済み)
- APIキーが漏れない構成にしたい(ホスティングはCloudflare)
- 料金が暴走しない仕組みも入れたい

まず構成図と作業手順を初心者向けに説明してください。
💡 ここだけ押さえる ・Claude APIで、自作アプリにAI機能を組み込める
・従量課金なので利用上限の設定を最初に行う
・キーを守る構成(Workers中継など)はAIに設計してもらえばよい

8-5ハンズオン:天気つきお出かけメモ

この章の総仕上げとして、APIを組み込んだ小さなアプリを作りましょう。

作るもの

「お出かけメモ」——行きたい場所をメモすると、その場所の今の天気が横に表示されるアプリです。

ハンズオン・プロンプト(コピーして使えます)
「お出かけメモ」というWebアプリを作ってください。

【機能】
1. 行きたい場所の名前と都市名を登録できる
2. 登録した場所の一覧に、その都市の現在の天気と気温が表示される
3. 天気はOpen-Meteo API(無料・キー不要)で取得
4. 都市名から緯度経度への変換も Open-Meteoの
   ジオコーディングAPIを使う
5. データはlocalStorageに保存

【進め方】
まず計画を説明 → 私のOK後に、機能1(メモ登録)だけ実装
→ 動作確認後に天気表示を追加、の順で小さく進めてください。

このハンズオンで身につくこと

🎉 第8章 修了 APIが使えるようになると「世の中のデータ×自分のアイデア」の掛け算ができるようになります。アプリ開発の楽しさが何倍にもなる転換点です。

📝 第8章 理解度チェック

全問正解できたら次の章へ進みましょう。