JavascriptでAPIを取得したいと思っています。fetchAPIを使い、イベント検索サイトConnpassが提供しているデータを取得したいです。しかし、アクセスしようとすると以下のようなエラーメッセージに遭遇してしまいます。
error
1Access to fetch at 'https://connpass.com/api/v1/event/?keyword=swift' from origin 'http://localhost:3000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.
該当コード
javascript
1componentDidMount() { 2 console.log(this.props.match.params.lang) 3 const url = new URL('https://connpass.com/api/v1/event/'); 4 url.searchParams.append('keyword', this.props.match.params.lang); 5 console.log(url.toString()); /*https://connpass.com/api/v1/event/?keyword=swift*/ 6 fetch(url, { 7 mode: 'cors', 8 }).then(res => { 9 return res.json(); 10 }).then(json => { 11 console.log(json); 12 }) 13 }
mode: cors
に設定しています。
環境
ブラウザはChrome
JavaScriptフレームワークはReactJSです。
試したこと
Connpassのrobots.txt
を見てみました。
txt
1User-agent: * 2Crawl-delay: 5 3Allow: / 4Disallow: /series/optout/ 5Disallow: /account/
特段制限されているようには思えません。
エラ〜メッセージを出さずに取得する方法を教えてください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/04/13 04:46
2020/04/13 05:06
2020/04/13 05:22