首页 > 解决方案 > 为什么 LinkedIn 社交登录不使用新创建的应用返回电子邮件 ID

问题描述

当我尝试使用旧应用程序时,LinkedIn 登录返回带有基本个人资料的电子邮件 ID,但是当我尝试使用新应用程序时,它只返回基本个人资料,例如(名字、姓氏等....),而不是电子邮件 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>

标签: javascriptlinkedin-api

解决方案


不再支持 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]

要获得完整的个人资料权限,您必须联系支持人员并验证您的应用程序是否提供其他功能


推荐阅读