r_basicprofile rw_company_admin w_share向https://api.linkedin.com/v2/me端点发出请求
curl -H "Authorization: Bearer ACCESS_TOKEN"
-H "Accept: application/json"
-H "Content-Type: application/json"
-H "X-Restli-Protocol-Version: 2.0.0" https://api.linkedin.com/v2/me
Run Code Online (Sandbox Code Playgroud)得到回应:
{
"serviceErrorCode": 100,
"message": "Not enough permissions to access /me GET ",
"status": 403
}
Run Code Online (Sandbox Code Playgroud)对https://api.linkedin.com/v2/的任何请求都会返回类似的错误响应
在官方文档中,标题有不同的要求:
但我试过了两个,没有任何效果.
对https://api.linkedin.com/v1/(使用相同令牌)的请求成功返回数据.
请告诉我我做错了什么.
我有一个小型节点应用程序,它在使用 Oath2 进行身份验证(授权)后从 LinkedIn 检索访问令牌。
现在我有了令牌,我想发出后续请求以获取用户配置文件数据。问题是,当我提出请求时,错误显示如下:
{"success":false,"msg":"403 - {\"serviceErrorCode\":100,\"message\":\"Not enough permissions to access: GET /me\",\"status\":403}"}
Run Code Online (Sandbox Code Playgroud)
我已经勾选了 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 …Run Code Online (Sandbox Code Playgroud)