Статус потока авторизации API авторизации Spotify 415 - PullRequest
1 голос
/ 22 апреля 2019

Я пытаюсь создать веб-приложение, которое интегрируется с 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-ключа.

Может кто-нибудь помочь мне разобраться, пожалуйста? Спасибо!

1 Ответ

1 голос
/ 23 апреля 2019

В Spotify Dashboard вам может потребоваться установить URI перенаправления на URL, который вы используете в своем коде, они должны совпадать, если появляется следующая ошибка:

{"error": "invalid_grant", "error_description": "URI неверного перенаправления"}

Это все, что вам нужно сделать, просто перейдите на панель инструментов, где вы получите Client ID и Client Secret, а затем перейдите в Edit Settings, и вы увидите возможность установить URI перенаправления

...