为什么LinkedIn社交登录无法使用新创建的应用程序返回电子邮件ID

时间:2019-02-06 05:13:46

标签: javascript linkedin-api

当我尝试使用旧应用程序时,LinkedIn登录会返回带有基本配置文件的电子邮件ID,但是当我尝试使用新应用程序时,它仅返回基本配置文件,例如(firstName,lastName等...),而不返回电子邮件ID。

<script type="text/javascript" src="//platform.linkedin.com/in.js">
    api_key: XXXXXXXXX
    authorize: true 
</script>

<script type="text/javascript">

function liAuth(){
    window.IN.user.authorize().then(function(){
    getProfileData();
});
}
function setLoginBadge(profile) {
        if (!profile) {
              profHTML = "<p>You are not logged in</p>";
        }                       
        document.getElementById("given_name").value =profile.firstName;
        document.getElementById("family_name").value =profile.lastName;
        document.getElementById("email").value = profile.emailAddress;
        document.getElementById("verifyOauthRequestLinkedIn").submit();
        }
function onError(error) {
console.log(error);
}

function getProfileData() {
  IN.API.Profile("me")
  .fields(["id", "firstName", "lastName", "pictureUrl", 
   "publicProfileUrl","email-address","headline"])
  .result(function(result) {
  setLoginBadge(result.values[0]);
        })
.error(onError);
}

</script>

1 个答案:

答案 0 :(得分:0)

不再支持javascript SDK,请参阅:[https://developer.linkedin.com/docs/getting-started-js-sdk]

因此,问题在于LinkedIN Api更改了服务条款,您无法再获取电子邮件ID之类的详细信息 在此处查看可用字段[{https://docs.microsoft.com/en-us/linkedin/shared/references/v2/profile/basic-profile?context=linkedin/consumer/context]

要获取“完整个人资料”权限,您必须与支持人员联系并确认您的应用程序提供了其他功能