首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用LinkedIn Javascript API获取电子邮件地址字段?

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

Stack Overflow用户
提问于 2013-11-08 02:23:01
回答 4查看 21K关注 0票数 9

我正在使用LinkedIn Javascript API让用户登录到我的应用程序,但是该API没有返回电子邮件地址,尽管我需要该特定字段的权限。我将API脚本包括如下:

代码语言:javascript
运行
复制
<script type="text/javascript" src="//platform.linkedin.com/in.js">
  api_key: API_KEY
  scope: r_fullprofile r_emailaddress
</script>

然后我将在标记中包含Log In按钮:

代码语言:javascript
运行
复制
<script type="in/Login" data-onAuth="onLinkedInAuth">

最后,我有一个函数为API响应添加回调:

代码语言:javascript
运行
复制
function onLinkedInAuth() {
    var fields = ['first-name', 'last-name', 'email-address'];

    IN.API.Profile("me").fields(fields).result(function(data) {
        console.log(data);
    }).error(function(data) {
        console.log(data);
    });
};

我只获取名字和姓氏,但API不返回电子邮件字段。

参考:https://developer.linkedin.com/documents/profile-fields#email

EN

回答 4

Stack Overflow用户

发布于 2013-12-25 18:35:57

1-确保在应用程序http://developer.linkedin.com/documents/authentication#granting中设置了电子邮件权限(r_emailaddress

2-然后你可以使用这个

代码语言:javascript
运行
复制
    <script type="text/javascript" src="http://platform.linkedin.com/in.js">
        api_key: key
        **onLoad: onLinkedInLoad**
        authorize: true
    </script>

    <script>



        function onLinkedInLoad() {
            IN.Event.on(IN, "auth", onLinkedInAuth);
        }

        // 2. Runs when the viewer has authenticated
        function onLinkedInAuth() {

            IN.API.Profile("me").fields("first-name", "last-name", "email-address").result(function (data) {
                console.log(data);
            }).error(function (data) {
                console.log(data);
            });
         }
</script>

希望这能对你有所帮助:)谢谢

票数 14
EN

Stack Overflow用户

发布于 2017-02-06 13:14:05

你好,@Ulises,也许我来晚了一点,但这是我是如何完成这件事的:

从页面顶部head部分中的初始script标记开始:

代码语言:javascript
运行
复制
<script>
    Client Id Number here:
    onLoad: onLinkedInLoad
    authorize: true
</script>

然后,在您的JS文件中(我放置了一个外部JS文件来处理此API注册/验证),放置以下详细信息:

代码语言:javascript
运行
复制
function onLinkedInLoad() {
    IN.Event.on(IN, "auth", getProfileData);
}

function onSuccess(data) {
    console.log(data);
}

function onError(error) {
    console.log(error);
}

    function getProfileData(){
        IN.API.Profile("me").fields(["firstName","lastName", "email-address", "positions"]).result(function(data) {
            var profileData = data.values[0];
            var profileFName = profileData.firstName;
            var profileLName = profileData.lastName;

            if(data.values[0].positions._total == "0" || data.values[0].positions._total == 0 || data.values[0].positions._total == undefined) {
                console.log("Error on position details");
                var profileCName = "Details Are Undefined";
            }
            else {
                var profileCName = profileData.positions.values["0"].company.name;
            }
            var profileEName = profileData.emailAddress;

            //console.log all the variables which have the data that 
            //has been captured through the sign up auth process and
            //you should get them...

        });
    }

最后但并非最不重要的一点是,在您的HTML文档中添加以下内容,可以帮助您启动linkedin auth注册表单的窗口弹出窗口:

代码语言:javascript
运行
复制
<script type="in/Login"></script>

上面的设置对我很有效。当然,这会对你有所帮助。

干杯,祝你一天愉快。

票数 2
EN

Stack Overflow用户

发布于 2013-11-08 08:18:31

实现看起来不错。我相信这是个人资料隐私设置的结果。每个链接的文档:

并非所有字段都适用于所有配置文件。可用的字段取决于您代表的用户与成员之间的关系、成员选择提供的信息以及他们的隐私设置。您不应假定给定成员返回的是id以外的任何内容。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19843698

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档