我可以使用 Axios 或 fetch 在客户端中调用 Twitter API 吗?



我正在尝试在 React 应用程序中调用 Twitter API,并收到以下错误:

提取 API 无法加载 https://api.twitter.com/1.1/account/verify_credentials.json。对预检请求的响应未通过访问控制检查:请求的资源上不存在"访问控制允许源"标头。因此,不允许访问源"http://localhost:3000"。响应具有 HTTP 状态代码 400。如果不透明响应满足您的需求,请将请求的模式设置为"no-cors",以便在禁用 CORS 的情况下获取资源。

此问题通常是由于未在服务器上使用 CORS 引起的。如果要将数据从 API 加载到自己的服务器上,请确保使用 CORS 包并调用应用文件中的中间件,以便可以从其他端口发出请求。

如果您直接从客户端调用 API,那么这个问题有点欺骗性。默认情况下,所有浏览器都将启用 CORS,因此是否使用 CORS 不会成为问题。相反,您可能会在标头中以错误的格式接收数据。您应该期待application/json数据,并且您可能没有将其作为 JSON 数据接收,这也会引发此错误。Twitter 的 API 可能不会返回预期的数据格式,在这种情况下,您需要创建自己的服务器,以便正确处理数据,而不是直接从客户端调用数据。

最新更新