401 Unauthorized: 解決方法
401エラーは、サーバーがあなたの身元を認識できていないことを意味します。これは403エラーとは異なります。403は、身元は認識されているものの権限が不足していることを意味し、401は認証に失敗したことを意味します。
幸いなことに、これは解決可能です。多くの場合、設定ミスが原因です。
401エラーの一般的な原因:
- APIキーの入力ミス。キーの末尾にスペースが1つ入っているだけでも動作しなくなります。常にキーのトリム(空白削除)を行ってください。
- キーの期限切れ。プロバイダーは予告なしに機能を停止することがよくあります。有効期限を確認してください。
- 環境変数のエラー。コードが古い設定を使用している可能性があります。これはDockerコンテナでよく発生します。
- ヘッダー形式の誤り。一部のAPIでは
Bearerプレフィックスが必要なものもあれば、X-API-Keyのようなカスタムヘッダーを使用するものもあります。 - プロキシの問題。APIに到達する前に、ゲートウェイによってブロックされている可能性があります。
デバッグには以下のチェックリストを使用してください:
• 送信しているキーをプリントして、記録と一致しているか確認する。
• キーがまだ有効であることを確認する。
• ドキュメントと照らし合わせてヘッダー形式を確認する。
• ターミナルで curl コマンドを使用してキーをテストする。
• プロキシがヘッダーを変更していないか確認する。
リトライロジックの使用は控えましょう。401エラーをリトライしても解決しません。まずは認証情報を修正する必要があります。
出典: https://dev.to/laowuuu_dev/401-unauthorized-the-api-error-thats-easier-to-fix-than-you-think-3o4h