我正在使用与用户登录的标准Javascript方法:
<script type="text/javascript" src="linkedInUrl">
api_key: s4mp13
authorize: true
onLoad: onLinkedInLoad
</script>
,我无法通过以下呼叫访问用户的电子邮件字段:
function onLinkedInAuth() {
IN.API.Profile("me") // get user
.fields(["email-address"])
.result(function (result) {
profile = result.values[0];
$.post('/User/Authorize/', { 'profile': profile }, function (data) {
window.location = data;
});
});
}
我认为这是因为我没有指定成员权限'r_emailaddress'
?但我查看过,只能看到REST API
的示例,如何在JavaScript
中定义成员权限?
还是有另一种方法可以实现这个目标吗?
答案 0 :(得分:9)
我发现解决方案隐藏在LinkedIn论坛中,范围可以在这里定义:
<script type="text/javascript" src="linkedInUrl">
api_key: s4mp13
authorize: true
onLoad: onLinkedInLoad
scope: r_fullprofile r_emailaddress
</script>
答案 1 :(得分:1)
如果您想在页面加载后执行此操作,可以执行以下操作:
IN.ENV.js.scope.push('r_fullprofile');
然后将以下内容绑定到一个点击:
IN.User.authorize();
请注意,IN.User.authorize似乎只在一次/页面加载时提示新的权限。不确定为什么或是否有解决办法。
另请注意,就我所知,这并未完全记录在案,因此可能会或可能不会保证会继续工作......