API キーとは、Web API にアクセスする際に利用者を識別するために発行される一意の文字列です。レストランの予約番号のようなもので、「この人は利用を許可されている」とサーバー側が確認するための仕組みです。
API キーの主な役割は 3 つあります。第一に認証 (誰がアクセスしているかの識別)、第二にアクセス制御 (利用量の制限やプランごとの機能制限)、第三に利用状況の追跡 (誰がいつどれだけ API を呼び出したかの記録) です。
短縮 URL サービスの多くは API を提供しており、プログラムから URL を短縮したり、クリック統計を取得したりできます。この API を利用するには、サービスに登録して API キーを取得し、リクエストのヘッダーやパラメータにキーを含めて送信します。たとえば「Authorization: Bearer sk-abc123...」のような形式です。
API キーの管理で最も重要なのは、キーを公開しないことです。GitHub のリポジトリにキーをハードコードしてプッシュしてしまう事故は頻繁に発生しています。GitGuardian の 2023 年レポートによると、GitHub 上で年間 1,000 万件以上のシークレット (API キーやパスワード) が漏洩しています。環境変数や専用のシークレット管理サービスを使い、コードにキーを直接書かないことが鉄則です。
API キーと OAuth トークンの違いも理解しておくべきです。API キーはアプリケーション単位の認証に適しており、設定が簡単です。一方 OAuth はユーザー単位の認可に使われ、より細かいアクセス制御が可能ですが、実装が複雑になります。個人開発やサーバー間通信では API キー、ユーザーデータへのアクセスが必要な場合は OAuth という使い分けが一般的です。関連書籍は Amazon でも探せます。