Как получить данные профиля пользователя после получения токена доступа из LinkedIn через Oath2 - PullRequest
0 голосов
/ 03 декабря 2018

У меня есть приложение для небольших узлов, которое извлекает токен доступа из LinkedIn после аутентификации (авторизации) с помощью Oath2.

Теперь, когда у меня есть токен, я хочу сделать следующий запрос для получения данных профиля пользователя,Проблема в том, что когда я делаю запрос, ошибка говорит следующее:

{"success":false,"msg":"403 - {\"serviceErrorCode\":100,\"message\":\"Not enough permissions to access: GET /me\",\"status\":403}"}

Я отметил все опции "состояния" в приложении LinkedIn.

enter image description here

В соответствии с документами API LinkedIn токен необходимо отправить в заголовке.Например:

enter image description here

(ссылка: https://developer.linkedin.com/docs/oauth2#requests)

Маршрут для получения данных профиля указан как:https://api.linkedin.com/v2/me

enter image description here

Вот маршрут, по которому пользователи хотят перейти, чтобы получить данные своего профиля:

app.get("/user",async (req,res)=>{

    console.log(token); /* token object is available in higher scope from previous request */

     var options = {

        url: "https://api.linkedin.com/v2/me",
        method: 'GET',
        headers: {
          'Host': "api.linkedin.com",
          'Connection': "Keep-Alive",
          'Authorization': 'Bearer ' + token.access_token
        },

        json: true // Automatically stringifies the body to JSON
    };




    try {
        var response = await makeRequest(options);
        return res.json({success:true})

        } catch (err) {

        return res.json({ success: false, msg: err.message});; // TypeError: failed to fetch
    }



});

1 Ответ

0 голосов
/ 03 декабря 2018

Попробуйте добавить пробел после слова Bearer.В настоящее время он видит ваш токен и слово Bearer как одну строку и не знает, где разделить, чтобы получить токен

'Authorization': 'Bearer ' + token.access_token

...