javascript - 通过 Oath2 从 LinkedIn 获取访问令牌后如何获取用户个人资料数据
问题描述
我有一个小型节点应用程序,它在使用 Oath2 进行身份验证(授权)后从 LinkedIn 检索访问令牌。
现在我有了令牌,我想发出后续请求以获取用户配置文件数据。问题是,当我提出请求时,错误显示如下:
{"success":false,"msg":"403 - {\"serviceErrorCode\":100,\"message\":\"Not enough permissions to access: GET /me\",\"status\":403}"}
我已经检查了 LinkedIn 应用程序中的所有“状态”选项。
根据 LinkedIn API 文档,令牌需要在标头中发送。像这样:
(参考: https ://developer.linkedin.com/docs/oauth2#requests )
获取配置文件数据的路径为: https ://api.linkedin.com/v2/me
这是我希望用户获取他们的个人资料数据的路线:
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
}
});
解决方案
尝试在 Bearer 之后添加一个空格。目前它将您的令牌和单词Bearer
视为单个字符串,并且它不知道在哪里拆分以获取令牌
'Authorization': 'Bearer ' + token.access_token
推荐阅读
- json - React Material-UI Treeview 将 prp 类型“nodeID”标记为必填
- azure - Azure 逻辑应用条件 - 属性包含在数组中的对象中
- jquery - Jquery - 检查是否有与 ajax 的服务器连接
- kubernetes - 从 vertx 获取 NullPointerException
- html - 使用带有“行环绕”和网格间隙的 Angular Flex 时移除底部的多余空间
- c# - C# - 列出 Active Directory 中的所有用户帐户时出错
- php - Azure 应用服务 PHP Laravel CSS 未加载
- python - 将字符串列表转换为整数
- logging - 使用 logOnNext 使用 Reactor 记录 MDC
- google-sheets - 获取当前工作表中填写的最后一行值