インターネットからAPIMのサイトを開く方法
HTTP 401 Access Denied, message: “Access denied due to missing subscription key. Make sure to include subscription key when making requests to an API.”
作成したAPIMをインターネットから表示させようとしたところ上記エラーが表示されました。
調べると、どうやら"Ocp-Apim-Subscription-Key"がないリクエストをNGとしているみたい。 公式マニュアル*1によると、AzureポータルからのTESTの際には自動で入力していたようです。 インターネットからのアクセスの時にはHeader内にその情報がないからエラーというわけですね。では入れてやりますか。
この API に関連付けられている成果物のサブスクリプション キーの場合、ヘッダーの 1 つは "Ocp-Apim-Subscription-Key" です。 キーが自動的に入力されます。
Chrome標準の機能ではHTTP Headerの情報を書き換えることはできなかったので、chrome web storeからRequestlyを追加。 Requestlyの設定値は以下の通り。
- Header:Ocp-Apim-Subscription-Key
- Value:(Built-in all-access subscriptionの主キーから確認可能)
- URL Contains:apimのURLを記載
再度打鍵したところインターネットから表示可能になりました。めでたし、めでたし。
フロントにApplicationGatewayがいるときなんかは、このHeader情報はだれがどこで埋め込んでくれるのか疑問。
~おしまい~