

Translator Text API を使ったアプリを制作中です。  
Unity2017.2 で制作を進めているのですが、  
API利用のためのトークンの取得でエラーがかえってきます。  
エラー内容：Access denied due to missing subscription key. Make sure to include
subscription key when making requests to an API

ここに書いてある方法はすべて試したのですが、うまくいきません。  
<https://blogs.msdn.microsoft.com/kwill/2017/05/17/http-401-access-denied-
when-calling-azure-cognitive-services-apis/>

実装方法など間違っていますでしょうか？  
解決策をご存知の方おられましたら助けてください。

This is my code:

[code]

    private IEnumerator GetAccessTokenForTranslation()
    {
    
            string subscriptionKey = <my key>;
    
            string url = "http://api.cognitive.microsoft.com/sts/v1.0/issueToken";
    
            List<IMultipartFormSection> formData = new List<IMultipartFormSection>();
            formData.Add(new MultipartFormDataSection("Content-Type", "application/json"));
            formData.Add(new MultipartFormDataSection("Accept", "application/jwt"));
            formData.Add(new MultipartFormFileSection("Ocp-Apim-Subscription-Key", subscriptionKey));
    
            UnityWebRequest www = UnityWebRequest.Post(url, formData);
            yield return www.SendWebRequest();
    
            if (www.isNetworkError || www.isHttpError)
            {
                Debug.Log(www.error);
            }
            else
            {
                Debug.Log("Form upload complete!");
            }
    
    }
    
[/code]


CC BY-SA 3.0
2018-01-25T01:03:52.117
41187
2018-01-25T02:52:19.303
2018-01-25T01:41:02.920
19110
27138
question
unity3d api azure
Translator Text API　について


`Ocp-Apim-Subscription-Key`に関してはフォームデータとしてではなく、 **リクエストヘッダ** に含める必要がありそうです。

英語版Stackoverflowでの関連質問(JavaScriptでの例)  
<https://stackoverflow.com/a/42467976/2322778>


CC BY-SA 3.0
2018-01-25T02:52:19.303
41191
2018-01-25T02:52:19.303
3060
41187
answer