javascript - 为什么 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>
解决方案
不再支持 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]
要获得完整的个人资料权限,您必须联系支持人员并验证您的应用程序是否提供其他功能
推荐阅读
- java - 如何处理不同视图模型之间的通信?
- python - 基于所选日期的python数据框连接
- arrays - 如何在 Angular 外部访问从 API 订阅方法返回的数据
- bash - 可以 ssh 到远程机器并执行命令的 bash 脚本,当密码不正确时抛出错误
- reactjs - 保存时反应管理员确认对话框
- python - 赛马 scikit learn 的预测 - 每场比赛多行
- json - xslt 3.0 xml 转 JSON 数字格式
- wordpress - 在显示帖子之前更新帖子元
- python - 由于 EnvironmentError,pip3 安装失败
- jenkins - 使用“标签”或在 jenkinsfile 中为 kubernetes-plugin 定义一个 pod 模板?