Instagram 公共 API 的新 CORS 政策?
我将这些端点与 JavaScript Ajax 一起使用来获取 Instagram 用户信息和帖子:
https://www.instagram.com/[用户名]/?__a=1
https://www.instagram.com/graphql/query/?query_hash=472f257a40c653c64c666ce877d59d2b&variables={id:[user_id],first:50,after:''}
以前没有 CORS 策略错误,但现在我收到了该错误(不是每次刷新页面时,但几乎 95% 次):
CORS 政策已阻止从源https://sitename.com"访问https://www.instagram.com/hannahstocking/?__a=1"处的 XMLHttpRequest:无访问权限-请求的资源上存在 Control-Allow-Origin 标头.
Instagram 是否已开始阻止这些端点或添加了新的速率限制?我该如何解决?
解决方案Instagram 引入了 strict-origin-when-cross-origin 政策,只允许以下跨源网站:p>
- https://www.instagram.com
- https://*.fbcdn.net
- https://*.instagram.com
- https://*.cdninstagram.com
- https://*.facebook.com
- https://*.fbsbx.com
这让我相信他们正在限制网站显示 API 数据.数据本身仍然可以访问,只是不能直接通过网站访问.您需要使用代理或服务器来解决它
I am using these endpoints with JavaScript Ajax to get Instagram user information and posts:
https://www.instagram.com/[username]/?__a=1
https://www.instagram.com/graphql/query/?query_hash=472f257a40c653c64c666ce877d59d2b&variables={id:[user_id],first:50,after:''}
There was not a CORS policy error before but now i'm getting that error (not every time when i refresh the page, but almost 95% times):
Access to XMLHttpRequest at 'https://www.instagram.com/hannahstocking/?__a=1' from origin 'https://sitename.com' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
Has Instagram started to block these endpoints or added a new rate limit? How can I fix it?
解决方案Instagram has introduced a strict-origin-when-cross-origin policy and is only allowing the following cross origin sites:
- https://www.instagram.com
- https://*.fbcdn.net
- https://*.instagram.com
- https://*.cdninstagram.com
- https://*.facebook.com
- https://*.fbsbx.com
This leads me to believe that they are restricting websites to display the API data. The data itself is still accessible, just not directly over a website. You would need to use a proxy or a server to resolve it
相关文章