使用 javascript 和 axios 搜索推特用户

Searching for twitter users using javascript and axios

我正在尝试连接到 Twitter api 以便使用用户名搜索用户。我已阅读以下文档,但仍不确定我是否正确执行操作:

https://developer.twitter.com/en/docs/twitter-api/users/lookup/api-reference/get-users-by-username-username

代码如下:

Axios 实例:

import axios from 'axios';

export default axios.create({
    baseURL:"https://api.twitter.com/2/",
    header: {"Authorization": "Bearer $mybearertoken"}
});

获取请求

export const searchForUser =(searchTerm)=> async (dispatch) => {

    const response = await twitter.get(`by/username/:${searchTerm}/TwitterDev?user.fields=profile_image_url,name`)

    dispatch({type:SEARCH_FOR_USER,payload:response.data})
};

我对 javascript 和 API 的使用还很陌生,所以我有很多问题:

我的控制台中也出现此错误“从来源 'http://localhost:3000' 访问 'https://api.twitter.com/2/by/username/:j/TwitterDev?user.fields=profile_image_url,name' 处的 XMLHttpRequest 已被 CORS 策略阻止:对预检请求的响应未通过访问控制检查:请求的资源上不存在 'Access-Control-Allow-Origin' header。"

HTTP 错误代码为 400

看起来您的服务器不包含 Access-Control-Allow-Origin header 以响应预检请求(选项)。

如果缺少 Access-Control-Allow-Origin,CORS 请求将失败。如果您 运行 进入 CORS 错误,我建议您使用 Node.js 进行 API 调用。

以下是一些解释 CORS 工作原理的精彩文章:

https://www.html5rocks.com/en/tutorials/cors/ https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS