Я получаю свое тело с access_token, но я хочу использовать только access_token из тела. Но дай мне access_token не определено
access_token
request(options, function (error, response, body) { if (error) throw new Error(error); console.log(body.access_token); }
Есть несколько причин, по которым можно решить эту проблему.
Если ваш вариант не имеет json: true, как это:
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. Код будет выглядеть так:
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 })
Если вы настроили option с помощью json: true, а тело все еще является строкой. Я думаю, что ваш API может отвечать неправильным форматом. Как вы прокомментировали выше:
option
{ "access_token":"1231231313123312", "token_type":"Bearer", "expires_in":3600, } Это может быть связано с последней запятой, которая приводит к невозможности анализа вашего ответа на объект.
{ "access_token":"1231231313123312", "token_type":"Bearer", "expires_in":3600, }