我试图在我的音乐播放器项目中使用Spotify API,每次我登录并在控制台中重定向到我的/spotfylogin路由时,它都会显示POST http://localhost:3001/spotifylogin net::ERR_CONNECTION_REFUSED
error in console
这是我的服务器js
// ==== [Cors] ====
app.use(cors());
const server = http.createServer(app);
//==== [Spotify] ====
app.use(bodyParser.json());
app.post("/spotifylogin", (req, res) => {
const spotifyApi = new SpotifyWebApi({
redirectUri: "http://localhost:3000/",
clientId: "d67a6de2b2f045539acfef33cdff8840",
clientSecret: "bd98e8446154499ab7eef56762cd16f2",
});
spotifyApi
.authorizationCodeGrant(code)
.then((data) => {
res.json({
accessToken: data.body.access_token,
refreshToken: data.body.refresh_token,
expiresIn: data.body.expires_in,
});
})
.catch((err) => {
console.log(err);
res.sendStatus(400);
});
app.listen(3001);
});
字符串
这是我的auth jsx
import { useState, useEffect } from "react";
import axios from "axios";
export default function spotifyAuth(code) {
const [accessToken, setAccessToken] = useState();
const [refreshToken, setRefreshToken] = useState();
const [expiresIn, setExpiresIn] = useState();
useEffect(() => {
axios
.post("http://localhost:3001/spotifylogin", { code })
.then((res) => {
console.log(res.data);
setAccessToken(res.data.accessToken);
setRefreshToken(res.data.refreshToken);
setExpiresIn(res.data.expiresIn);
window.history.pushStage({}, null, "/");
})
.catch((err) => {
console.log(err);
});
}, [code]);
return accessToken;
}
型
我曾试图搞乱与cors交叉起源,但没有任何工作,甚至尝试代理通过vite配置,这也没有工作,任何帮助是赞赏
(NOTE:我对编码还是相当陌生的)
1条答案
按热度按时间vi4fp9gy1#
这不是一个完整的解决方案,但我只是解决了服务器端的问题。你能继续走前面(vite和React部分)
server.js
将新的子目录定位为“express”目录。./express/server.js
字符串
前端
App.jsx
型
Spotify.jsx
型
vite.config.js
型
步骤
1在
express
目录下安装依赖项型
2在
express
目录下运行服务器型
3在
src
目录下运行客户端型
4在浏览器中按登录
5令牌将显示
同样,这不是整个解决方案,我只是演示了从前端和后端登录和显示令牌的调用,而不是返回到前端。