Watson サービスから認証を受けられないのはなぜですか?
Watson サービスから認証を受けようとしますが、エラー・メッセージを受け取ります。
Watson API を介して資格情報を送信すると、401 HTTP 状況コードを受け取ります。
以下に例を示します。
{
"trace":"ec29c5a9-9f99-46a4-9cc0-81a0d4031f84",
"error":"Unauthorized",
"more_info":"https://cloud.ibm.com/docs/watson?topic=watson-authorization-error",
"code":401
}
401 HTTP状況コードは、ユーザーが認証されないことを示します。401は403と似ていますが、認証のみを参照し、許可や権限付与は参照しません。
一般的な原因としては、次のようなシチュエーションがあります。
- アクセス・トークンの期限が切れている。
- パスワードまたは API キー値にプレースホルダーの大括弧 (
{
、}
) が含まれている。 - インスタンスでユーザー名およびパスワードの認証を使用している。
- SDK の認証初期設定が正しくないメソッドである。
資格情報を確認するか、または別のコマンドで認証を試みます。
-
「リソース・リスト」 でサービス・インスタンスの名前をクリックし、資格情報を確認することで、サービス・インスタンスに対して API キーとエンドポイント URL を確認します。
-
アクセス権限を付与するために許可 ID またはサービス ID を使用している場合には、サービス・インスタンス ID が含まれるエンドポイント URL を使用していることを確認してください。 インスタンス ID を確認するには、 リソース・リスト でサービス・インスタンスの名前をクリックし、資格情報 URL を確認します。
-
SDK またはその他のラッパーを介して認証する場合は、
curl
コマンドを使用してメソッドを呼び出します。curl
を使用すると、認証の問題があるかどうかを切り分けるのに役立ちます。curl -X {request_method} -u "apikey:{apikey}" "{url}/{method}"
詳しくは、ご使用のサービスの API リファレンスの認証のセクションを参照してください。
このエラーが解決せず、サービス・プランでカバーされている場合は、 IBM Cloud サポートから Case を作成して、支援を受けることができます。