使用linkedin API javascript SDK获取电子邮件地址

时间:2016-02-25 10:37:32

标签: javascript api email linkedin

我看到其他类似的讨论,但是我无法弄清楚如何从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填充输入字段,但我没有在对象中,有人知道该怎么做?谢谢!

2 个答案:

答案 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