Не могу получить access_token - PullRequest
       17

Не могу получить access_token

0 голосов
/ 28 апреля 2019

Я получаю свое тело с access_token, но я хочу использовать только access_token из тела. Но дай мне access_token не определено

request(options, function (error, response, body) {
        if (error) throw new Error(error);
        console.log(body.access_token);
}

1 Ответ

0 голосов
/ 28 апреля 2019

Есть несколько причин, по которым можно решить эту проблему.

  1. Если ваш вариант не имеет json: true, как это:

    request({
        uri: 'https://jsonplaceholder.typicode.com/todos/1'
    }, (error, response, body) => {
        if (error) throw new Error(error);
        console.log(typeof body)
        //string
    })
    

    Так что вы можете указать json: true для опции, body будет ojbect. Код будет выглядеть так:

    request({
        uri: 'https://jsonplaceholder.typicode.com/todos/1',
        json: true
    }, (error, response, body) => {
        if (error) throw new Error(error);
        console.log(typeof body)
        //object
    })
    
  2. Если вы настроили option с помощью json: true, а тело все еще является строкой. Я думаю, что ваш API может отвечать неправильным форматом. Как вы прокомментировали выше:

{ "access_token":"1231231313123312", "token_type":"Bearer", "expires_in":3600, } Это может быть связано с последней запятой, которая приводит к невозможности анализа вашего ответа на объект.

...