Я пытаюсь создать веб-приложение, которое интегрируется с API spotify. Для этого я использую поток авторизации.
Мне удалось получить код авторизации, но на бэкэнде, когда я тестирую конечную точку, которая должна обмениваться кодом авторизации с токеном доступа, я продолжаю получать статус ответа 415.
Вот служба, которую использует конечная точка:
export async function getAccessAndRefresh(code: string): Promise<any> {
return axios.post(ACCESS_URL, {
data: {
"grant_type": "authorization_code",
"code": code,
"redirect_uri": REDIRECT_URI
},
headers: {
"Authorization": " Basic " + Buffer.from(CLIENT_ID + ":" + CLIENT_SECRET).toString("base64"),
"Content-Type": "application/x-www-form-urlencoded",
},
method: "POST",
json:true
})
}
Кроме того, я написал этот модульный тест для проверки службы (я получил 415 во время выполнения этого модульного теста):
describe("Request tests", () => {
let server: Server;
function initServer() {
server = createServer(App);
server.listen(5000);
}
function destroyServer() {
server.close();
}
test("Test refresh and access token returned by spotify api", () => {
return getAccessAndRefresh(AUTH_CODE).then((value)=>{
expect(value).toHaveProperty("access_token");
})
})
beforeAll(() => {
initServer();
});
afterAll(()=>{
destroyServer();
})
})
В тесте AUTH_CODE
- это код, который я получил вручную в браузере, получив доступ к конечной точке https://accounts.spotify.com/authorize с помощью моего API-ключа.
Может кто-нибудь помочь мне разобраться, пожалуйста? Спасибо!