我看到其他类似的讨论,但是我无法弄清楚如何从linkedin API获取电子邮件地址,我在我的应用程序中启用了r_emailaddress,这是我所做的:
的index.html:
<!-- Linkedin login -->
<script type="text/javascript" src="http://platform.linkedin.com/in.js">
api_key: myapikey
scope: r_basicprofile r_emailaddress
onLoad:onLinkedInLoad
authorize:true
lang:en_US
</script>
<script type="in/Login"></script>
这里是剧本:
// Setup an event listener to make an API call once auth is complete
function onLinkedInLoad() {
IN.Event.on(IN, "auth", getProfileData);
}
// Handle the successful return from the API call
function onSuccess(data) {
console.log(data);
$('#nome').val(data.firstName);
$('#cognome').val(data.lastName);
$('#email').val(data.emailAddress);
}
// Handle an error response from the API call
function onError(error) {
console.log(error);
}
// Use the API call wrapper to request the member's basic profile data
function getProfileData() {
var fields = ['firstName', 'lastName', 'emailAddress'];
IN.API.Raw("/people/~").result(onSuccess).error(onError);
}
我想用data.emailAdress填充输入字段,但我没有在对象中,有人知道该怎么做?谢谢!
答案 0 :(得分:3)
我至少得到了它!
IN.API.Raw("/people/~:(id,firstName,lastName,emailAddress)?format=json")
.result(onSuccess)
.error(onError);
答案 1 :(得分:2)
Aya Magdy在以下SO问题页面上提供了对此问题的答案:
How do I get email address field using the LinkedIn Javascript API?
在您的情况下,您所要做的就是确保您选中了“r_emailaddress&#39;在默认的应用程序权限范围内&#39;你的Linkedin应用页面的一部分。
然后更改你的getProfileData()函数,使它看起来像这样:
function getProfileData() {
IN.API.Profile("me").fields("first-name", "last-name", "email-address").result(onSuccess).error(onError);
}
有关IN.API.Profile函数的文档,请访问:
https://developer-programs.linkedin.com/documents/inapiprofile