【发布时间】:2020-12-18 22:04:32
【问题描述】:
我正在尝试连接到 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 实例(例如定义标头)?
- 如果上面的答案是肯定的,我哪里错了?
我的控制台中也出现此错误“访问 XMLHttpRequest at 'https://api.twitter.com/2/by/username/:j/TwitterDev?user.fields=profile_image_url,name' from origin' http://localhost:3000' 已被 CORS 策略阻止:对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。”
HTTP 错误代码是 400
【问题讨论】:
-
CURL 是向 Twitter API(和其他互联网主机)发出 HTTP 请求的众多方法之一。
-
看起来没问题,只要您将该 axios 实例导入为
twitter?你怎么打电话给searchForUser?由于异步,它也会返回一个 Promise。你得到什么回应? -
您是否真的在调用 axios.create 之前设置了您的不记名令牌?
-
我在 $.我也试过没有 $ 也没有工作。我今天创建了 twitter 开发者帐户,但看到我获得了令牌,我想它应该可以立即使用?
标签: javascript curl twitter get axios