2017-08-01 3 views
0

https://od-api.oxforddictionaries.com:443/api/v1/entries/en/ace/pronunciations APIで問題が発生していますこのコードを他のAPIで使用しました。 私はPOSTMANとその働きを試してみました。だから問題は自分のコードにあると思う。プリフライト要求に対する角度応答がアクセス制御チェックに合格しない

getWord(word) { 
    let headers = new Headers(); 
    headers.append('Accept','application/json'); 
    headers.append('app_id','xxxxxx'); 
    headers.append('app_key','xxxxx'); 

    return this._http.get('https://od-api.oxforddictionaries.com:443/api/v1/entries/en/ace/pronunciations',{headers:headers}) 
    .map(res => res.json()); 
} 

エラー:

enter image description here

答えて

1

お知らせというエラーメッセージの一部:

認証失敗を示します。

これはおそらく、必要なapp_idapp_keyリクエストヘッダーに有効な値を指定していないということを意味します。これらの値を確認し、必要に応じて新しいAPIキーを登録または再生成します。

そうでない場合は、https://od-api.oxforddictionaries.com APIエンドポイントからの応答がOPTIONS応答を含め、Access-Control-Allow-Originレスポンスヘッダが含まれています:あなたは、有効なapp_idapp_keyリクエストヘッダの値を送信するようにコードを修正するのであれば

$ curl -X OPTIONS -i \ 
    --header "Origin: http://example.com" \ 
    --header "Access-Control-Request-Headers: app_id, app_key" \ 
    --header "Access-Control-Request-Method: GET" \ 
    --header "app_id: 023xxxxx" \ 
    --header "app_key: e6a772cxxxxxxxxxxxxxxxxxxxxxxxxx" \ 
    "https://od-api.oxforddictionaries.com/api/v1/entries/en/ace/pronunciations" 

HTTP/1.1 200 OK 
Access-Control-Allow-Headers: app_id 
Access-Control-Allow-Methods: DELETE, GET, HEAD, OPTIONS, PATCH, POST, PUT 
Access-Control-Allow-Origin: http://example.com 
Allow: HEAD, OPTIONS, GET 
Content-Type: text/html; charset=utf-8 
Date: Tue, 01 Aug 2017 22:49:53 GMT 
Server: openresty/1.9.7.4 
version: v1.1.0-601-g45837e9 
Content-Length: 0 
Connection: keep-alive 

、それが動作するはずです。

関連する問題