LinkedIn API 如何获取用户信息?

Dip*_*iat 5 userinfo postman linkedin-api

问题是我无法从 Linkedin API 获取我的用户信息。我总是没有足够的权限来访问:

GET /用户信息 - 状态 403

我尝试进行 API 调用来获取我的 LinkedIn 用户信息,例如名字。

我有一个 LinkedIn 应用程序和开发帐户。我在搜索栏中进行授权和获取 accestoken 手册。我只是填写缺少的参数。之后,我尝试使用访问令牌在 Postman 中进行 API 调用。范围配置文件的授权有效,我得到了一个访问令牌。但是,当我尝试使用授权承载中的访问令牌在 Postman 中对https://api.linkedin.com/v2/userinfo进行 API 调用时。我只得到这样的回应:

"serviceErrorCode": 100,
    "message": "Not enough permissions to access: GET /userinfo",
    "status": 403" 
Run Code Online (Sandbox Code Playgroud)

我只有消费者免费产品 - 所以我在 LinkedIn 上分享并使用 openid connect 登录。

我仍然不知道为什么我无法获取我的个人资料信息。有人可以告诉我获得访问令牌后我做错了什么吗?有没有更好的方法来尝试对 userinfo 进行 API 调用?或者我需要其他产品和权限吗?感谢帮助 :)

小智 1

您收到此错误是因为您无权访问“openid”范围。有两个步骤:

1 - 通过请求产品“使用 OpenID Connect 通过 LinkedIn 登录”,在您的 LinkedIn 开发者帐户上获取该范围的授权。完成后,您应该在“Auth”选项卡中看到以下内容: OAuth 2.0 范围内存在 openid

2 - 当您向“https://www.linkedin.com/oauth/v2/authorization”发出请求时,“openid”应该是范围参数的值之一。(如果要添加多个范围,则范围之间用空格分隔)。所以你的网址会像https://www.linkedin.com/oauth/v2/authorization?scope=openid&...

如果您已完成这两个步骤,则可以使用令牌向“userinfo”端点发出相同的请求,并且它应该可以工作。