Как авторизоваться с помощью пакета axios npm - PullRequest
0 голосов
/ 09 февраля 2019

В прошлом я использовал некоторый php-код для запроса API, как это

$str = file_get_contents('https://bla:bla@bla.com/rest/api/content/2950446?expand=body.storage');
$jsonObj = json_decode($str, true);

Теперь я хочу построить навык alexa с помощью nodejs

Я протестировал это

var session_url = 'https://bla.com/rest/api/content/2950446';


const fetchQuotes = async () => {
    try {
        const { data } = await axios.post(session_url, {}, {
            auth: {
                username: 'bla',
                password: 'bla'
            }});
        return data;
    } catch (error) {
        console.error('cannot fetch quotes', error);
    }
};

Насколько я понимаю, это должно делать то же самое.это тот случай?URL вызывается, но я получаю ошибку аутентификации ...

1 Ответ

0 голосов
/ 09 февраля 2019

Вы вводите свой data в поле options, когда звоните axios.post.Ваши данные должны быть вторым аргументом из axios.post, а не третьим.

При выполнении axios.post(url, {}, { somethingHere } ваш data равен {} (пустой объект).Вы должны сделать это вместо axios.post(url, { somethingHere }, { config }, а часть config необязательна.

Правильный порядок аргументов

const fetchQuotes = async () => {
    try {
        const { data } = await axios.post(session_url, {
            auth: {
                username: 'bla',
                password: 'bla'
            }});
        return data;
    } catch (error) {
        console.error('cannot fetch quotes', error);
    }
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...