Instagram のユーザー情報と投稿を取得するために、JavaScript Ajax で次のエンドポイントを使用しています。
https://www.instagram.com/[ユーザー名]/?__a=1
以前は CORS ポリシー エラーはありませんでしたが、今はそのエラーが発生しています (ページを更新するたびに発生するわけではありませんが、ほぼ 95% の頻度で発生します)。
オリジン 'https://sitename.com' からの 'https://www.instagram.com/hannahstocking/?__a=1' の XMLHttpRequest へのアクセスは、CORS ポリシーによってブロックされました: 要求されたリソースに 'Access-Control-Allow-Origin' ヘッダーが存在しません。
Instagram はこれらのエンドポイントをブロックし始めたのでしょうか、それとも新しいレート制限を追加したのでしょうか? どうすれば修正できますか?
ベストアンサー1
Instagramはクロスオリジンの場合の厳密なオリジンポリシーに準拠しており、次のクロスオリジンサイトのみを許可しています。
- https://www.instagram.com
- https://*.fbcdn.net
- https://*.instagram.com
- https://*.cdninstagram.com
- https://*.facebook.com
- https://*.fbsbx.com
このことから、APIデータを表示するウェブサイトを制限しているのではないかと思います。データ自体はまだアクセス可能ですが、ウェブサイトから直接アクセスすることはできません。解決するにはプロキシまたはサーバーを使用する必要があります。