使用 LinkedIn API JavaScript SDK 获取电子邮件地址

get email address using linkedin API javascript SDK

本文关键字:获取 电子邮件地址 SDK JavaScript LinkedIn API 使用      更新时间:2023-09-26

我看到其他类似的讨论,我无法弄清楚如何从 API 获取电子邮件地址LinkedIn我在应用程序中启用了r_emailaddress,这是我所做的:

索引.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填充输入字段,但我在对象中没有它,有人知道该怎么做?谢谢!

至少我明白了!

IN.API.Raw("/people/~:(id,firstName,lastName,emailAddress)?format=json")
    .result(onSuccess)
    .error(onError);

Aya Magdy在以下SO问题页面上提供了这个问题的答案:

如何使用LinkedIn Javascript API获取电子邮件地址字段?

在您的情况下,您所要做的就是确保在LinkedIn应用程序页面的"默认应用程序权限"部分中选中"r_emailaddress"。

然后更改 getProfileData() 函数,使其如下所示:

function getProfileData() {
   IN.API.Profile("me").fields("first-name", "last-name", "email-address").result(onSuccess).error(onError);
}

有关 IN 的文档。应用程序接口。配置文件功能可以在这里找到:

https://developer-programs.linkedin.com/documents/inapiprofile