对 api.linkedin.com/v2/ return "Not enough permissions to access ..." 的任何查询

Any queries to the api.linkedin.com/v2/ return "Not enough permissions to access ..."

  1. 我使用 客户端 ID 获得了访问令牌(范围:r_basicprofile rw_company_admin w_share)以下 URL 中的客户端机密
  2. 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
    
  3. 得到响应:

    {
        "serviceErrorCode": 100,
        "message": "Not enough permissions to access /me GET ",
        "status": 403
    }
    

https://api.linkedin.com/v2/

的任何请求都会 return 编辑类似的错误响应

官方文档中对headers的要求不同:

但是我都试过了,都没有用。

成功请求 https://api.linkedin.com/v1/(使用相同的令牌)return 数据。

请告诉我我做错了什么。

您需要向 LinkedIn 申请权限。

现在所有对 api.linkedin.com/v2/ 的请求都成功传递给我了!

我们在地址 https://business.linkedin.com/marketing-solutions/marketing-partners/become-a-partner/marketing-developer-program

在下面的地址留下一个请求,LinkedIn 会回答你。

祝你好运!

Authorization 的第一步中使用 r_liteprofile 而不是 r_basicprofile。 这将解决您的问题。

API 访问权限发生了变化,您仅通过 1 个 API 调用就收到了,现在必须重写才能进行多个 API 调用

之前,使用范围 "r_basicprofile, r_emailaddress" 你可以得到

  • 姓名、位置等用户基本信息
  • LinkedIn 用户个人资料URL
  • 电子邮件
  • 头像

现在你可以使用 "r_basicprofile",只有在 partner program 中才能获得用户 LinkedIn public URL,而且很难进入!

如果你想获得 access_token,你可以用它来获取基本的个人资料信息 + 电子邮件,现在你必须使用范围 "r_liteprofile,r_emailaddress"[=48= 来请求它]

并使用这 3 API 调用来获取所有详细信息,不幸的是没有 Linkedin public URL(如果有人知道如何获取它,请评论以便我可以修改答案)

  1. 个人资料信息 - https://api.linkedin.com/v2/me
  2. 电子邮件 - https://api.linkedin.com/v2/clientAwareMemberHandles?q=members&projection=(elements*(primary,type,handle~))
  3. 个人资料图片 - https://api.linkedin.com/v2/me?projection=(id,profilePicture(displayImage~:playableStreams))
  4. public 配置文件 URL - 不可能!

访问令牌

使用此 link 进行检索描述

https://docs.microsoft.com/en-us/linkedin/shared/authentication/client-credentials-flow?context=linkedin/consumer/context