【问题标题】:LinkedIn API v2 is not returning full profile dataLinkedIn API v2 未返回完整的个人资料数据
【发布时间】:2019-07-13 15:27:27
【问题描述】:

我正在更新我的应用程序以使用 LinkedIn API V2 和 OAuth 2.0。更改按预期工作,检索基本数据(r_liteprofile、r_emailaddress)

但是,我需要检索与完整个人资料(例如技能、教育)相关的一些字段,以及以前进入 r_basicprofile(职位)的其他字段,但在linkedIn 响应中缺少这些字段。这是我用来获取数据的调用

https://api.linkedin.com/v2/me?projection=(id,firstName,lastName,educations,skills, positions)&oauth2_access_token=ACCES_TOKEN

这是我得到的回应

{
  "firstName" : {
    "localized" : {
      "es_ES" : "Johan"
    },
    "preferredLocale" : {
      "country" : "ES",
      "language" : "es"
    }
  },
  "lastName" : {
    "localized" : {
      "es_ES" : "Rincon"
    },
    "preferredLocale" : {
      "country" : "ES",
      "language" : "es"
    }
  },
  "id" : "MY_LINKED_IN_ID"
}

我的linkedIn 应用目前正在使用旧的 API V1,并且已经可以访问 r_fullprofile,因此,使用 API V1,我可以按预期获得完整的配置文件字段。

我研究了几个小时,与其他案例的不同之处在于我的应用已经可以访问完整配置文件(从 V1 授权)

我的问题是:

  1. 我是否需要再次请求访问完整的个人资料?

  2. 我对 API V2 做错了吗?

这是我正在验证我正在请求预期范围的附件

Requesting litle profile, email and full profile

【问题讨论】:

  • 嘿,你得到 r_emailaddress 和 r_liteprofile 了吗?在上面的示例回复中,您没有提到电子邮件字段。

标签: linkedin linkedin-api


【解决方案1】:

在 V2 中使用 r_fullprofile 您必须申请合作伙伴计划 只有获得批准后,您才能使用 r_fullprofile

【讨论】:

  • 谢谢@KPsingh,我的linkedIn 应用程序(应用程序1)已经可以访问r_fullprofile,因为过去应用了合作伙伴计划并获得了批准(使用API​​ V1 有效),你知道我是否必须重新申请吗?这对我来说不清楚此外,我已经使用其他无法访问 r_fullprofile 并明确获得授权的linkedIn应用程序(App2)测试了相同的代码,返回以下错误“Scope r_fullprofile is not authorized for your application”,所以,我怀疑linkedin的App 1的错误与缺少对完整个人资料的访问权限无关
  • @JohanRincon 如果您无权访问 v2 r_fullprofile,则必须重新申请合作伙伴计划。
  • @christopher-ou 感谢您的回复。根据我之前的测试,我的应用程序可以访问完整的配置文件 V2(在 V1 中已经可以访问该范围)。当我使用 V2 与无法访问该范围的应用程序请求 r_fullprofile 时,授权请求会返回错误,但是对于我的应用程序 1(已经具有 r_fullprofile 访问权限),使用该范围的授权代码按预期工作。那么,是否有可能在 V1 中访问 r_fullprofile 而在 V2 中却不能使用同一个应用程序?
  • @JohanRincon 是的,在同一个应用程序中可以有 v1 r_fullprofile,但不能有 v2 r_fullprofile。
  • @ChristopherOu 谢谢。我已经和客户谈过了重新申请完整的权限。
【解决方案2】:

您是否尝试过像这样使用字段投影调用 API:

https://api.linkedin.com/v2/me?fields=id,firstName,lastName,educations,skills,positions

根据文档,您应该以这种方式请求必填字段:

https://docs.microsoft.com/en-us/linkedin/shared/api-guide/concepts/projections

希望对你有帮助!

【讨论】:

  • 谢谢,已经尝试过了,但在这种情况下会返回以下错误{"serviceErrorCode":100,"message":"not enough permissions to access field skills for GET /me","status":403}
  • 如果您只是请求 id、firstName、lastName、像api.linkedin.com/v2/me?fields=id,firstName,lastName,educations 这样的教育?如果你能测试它会很棒,我很好奇它是否有效。
  • 这意味着您的旧权限仅适用于 V1 所以您必须在 V2 中再次申请 r_fullprofile
  • @PetervanMourik 这是{"serviceErrorCode":100,"message":"not enough permissions to access field educations for GET /me","status":403} 的结果。谢谢
  • 嗨,约翰,感谢分享。我认为 KPSingh 是对的,您需要重新申请新的 v2 API。祝你好运,希望你能尽快获得批准!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-05-08
  • 2020-07-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-09
  • 1970-01-01
相关资源
最近更新 更多