Использую оффициальную SDK, следующий код работает :
<html>
<head>
<script type="text/javascript" src="http://platform.linkedin.com/in.js">
api_key: 111111111111111111
scope: r_basicprofile
onLoad:onLinkedInLoad
authorize:false
lang:en_US
</script>
<script>
function onLinkedInLoad() {
IN.Event.on(IN, "auth", getProfileData);
}
function onSuccess(data) {
console.log(data);
document.getElementById('email').value = (data.emailAddress);
}
function onError(error) {
console.log(error);
}
function getProfileData() {
IN.API.Raw("/people/~").result(onSuccess).error(onError);
}
</script>
</head>
<body>
<script type="in/Login"></script>
<input id='email' type='text'>
</body>
</html>
Если в scope добавить разрешения на r_emailaddress то в ответ я получу пустой oauthToken.
Подозреваю что не хватает разрешений в приложении, но там нельзя как-то изменить permissions.