调用 reddit api 以获取访问令牌被 CORS 策略阻止
Calling reddit api to get access token is being blocked by CORS policy
我正在尝试在我的 React 应用程序中使用 reddit api。但是当我尝试获取访问令牌时,出现以下错误。
const response = await axios({
method: "post",
url: "https://www.reddit.com/api/v1/access_token",
auth: {
user: process.env.REACT_APP_REDDIT_CLIENT_ID,
password: process.env.REACT_APP_REDDIT_CLIENT_SECRET,
},
data: {
grant_type: "authorization_code",
code: code,
redirect_uri: "http://localhost:3000/login",
},
});
我是 Reddit Api 和 Oauth 的新手,所以我不太明白问题出在哪里。
我找到了解决方案。问题是发送的参数不能采用 json 格式。
所以我不得不将它们更改为 url 编码。
const params = new URLSearchParams();
params.append("grant_type", "refresh_token");
params.append("refresh_token", refreshToken);
const config = {
headers: {
"Content-Type": "application/x-www-form-urlencoded",
},
auth: {
username: process.env.REACT_APP_REDDIT_CLIENT_ID,
password: process.env.REACT_APP_REDDIT_CLIENT_SECRET,
},
};
const response = await axios.post(getPrefix(url), params, config);
也是由于我本地环境是http。它导致了 cors 问题。所以我在我的 url 前加上 cors-anywhere 并且它起作用了。我试过使用上面提到的 reddit.local
,但它似乎不起作用。
我正在尝试在我的 React 应用程序中使用 reddit api。但是当我尝试获取访问令牌时,出现以下错误。
const response = await axios({
method: "post",
url: "https://www.reddit.com/api/v1/access_token",
auth: {
user: process.env.REACT_APP_REDDIT_CLIENT_ID,
password: process.env.REACT_APP_REDDIT_CLIENT_SECRET,
},
data: {
grant_type: "authorization_code",
code: code,
redirect_uri: "http://localhost:3000/login",
},
});
我是 Reddit Api 和 Oauth 的新手,所以我不太明白问题出在哪里。
我找到了解决方案。问题是发送的参数不能采用 json 格式。 所以我不得不将它们更改为 url 编码。
const params = new URLSearchParams();
params.append("grant_type", "refresh_token");
params.append("refresh_token", refreshToken);
const config = {
headers: {
"Content-Type": "application/x-www-form-urlencoded",
},
auth: {
username: process.env.REACT_APP_REDDIT_CLIENT_ID,
password: process.env.REACT_APP_REDDIT_CLIENT_SECRET,
},
};
const response = await axios.post(getPrefix(url), params, config);
也是由于我本地环境是http。它导致了 cors 问题。所以我在我的 url 前加上 cors-anywhere 并且它起作用了。我试过使用上面提到的 reddit.local
,但它似乎不起作用。