私はReactに非常に新しく、練習するために、Yelp APIから情報を取得するアプリケーションを構築しようとしていますが、レスポンスに問題があります。 Yelp Fusion v3には 'access_token'が必要です(私はPostmanで応答として正常に受信しました)。私のアプリケーションでこのリクエストを行うために、私はAxiosを使用しています。私はcomponentDidMount(の内側にこの要求を作っていた場合)、応答として私はHTTPリクエストでのHTTPリクエスト承認リクエストのヘッダーcomponentDidMount内
のXMLHttpRequestがhttps://api.yelp.com/v3/businesses/search?term=sushi&location=Bostonをロードすることはできませんを取得します。プリフライト要求への応答がアクセス制御チェックを通過しない:要求されたリソースに「アクセス制御許可」がない。 Origin 'http://localhost:8080'はアクセスできません。 (アプリケーションの一部ではない)別のファイルに同じコードを実行しているとき、私は間違って、access_tokenはとパラメータを指定していますように見えるかもしれないが、応答はHTTPステータスコード500
を持っていた、私はJSONレスポンスを取得します私のアプリで探している。
は、ここに私のcomponentDidMount()である:私もYelpのノードモジュールを試してみた
componentDidMount: function() {
axios.get('https://api.yelp.com/v3/businesses/search?term=Sushi&location=Boston',{
headers: {
Authorization: `Bearer ${token}`
}
})
.then(function(res){
console.log(res)
})
.catch(function(err){
console.log(err)
})
},
が、私は運を持っていないのです。助けてください!
これは非常に意味があります。私は多くの 'CORS'エラーを受けていて、それが本当に何かを理解していませんでした。 Expressを使用してAPIを設定することは、app.get()でリクエストを行いJSONを返す最善の方法だと思いますか? – Serey
これで、yelp APIキーを保護することができます。機密情報をJavascriptコードに保存しないでください。 yelp APIへの秘密鍵を持つバックエンドを作成し、アプリケーションに必要なデータを提供することができます。それは敏感な計画のようです。 ^^ – gretro
は、自分自身でAPIを構築しました。今、完璧に動作しています、ありがとうございます! – Serey