使用 javascript 和 axios 搜索推特用户
Searching for twitter users using javascript and axios
我正在尝试连接到 Twitter api 以便使用用户名搜索用户。我已阅读以下文档,但仍不确定我是否正确执行操作:
代码如下:
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 的使用还很陌生,所以我有很多问题:
- 文档使用 curl 请求。我对curl请求的理解有限,那么是否可以使用nodejs和axios执行相同的操作?
- 我是否正确定义了我的 axios 实例(例如定义 header)?
- 如果以上答案是肯定的,我哪里错了?
我的控制台中也出现此错误“从来源 '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
我正在尝试连接到 Twitter api 以便使用用户名搜索用户。我已阅读以下文档,但仍不确定我是否正确执行操作:
代码如下:
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 的使用还很陌生,所以我有很多问题:
- 文档使用 curl 请求。我对curl请求的理解有限,那么是否可以使用nodejs和axios执行相同的操作?
- 我是否正确定义了我的 axios 实例(例如定义 header)?
- 如果以上答案是肯定的,我哪里错了?
我的控制台中也出现此错误“从来源 '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