LinkedIn Javascript SDK无法返回位置

时间:2015-10-30 06:46:27

标签: javascript sdk linkedin

我正在尝试使用LinkedIn Javascript SDK来检索包括位置字段在内的一些信息。我从互联网上复制了代码,但似乎有些东西不能正常工作,因为我复制的代码不会返回应该是的位置字段。我试过ApiGee它工作正常,它返回了我所期望的位置列表。如果你看下面的代码,你认为我错过了什么或者javascript SDK本身有一些错误的问题吗?

<script type="text/javascript" src="//platform.linkedin.com/in.js">
api_key: yourapikey
authorize: true
onLoad: onLoad
</script>

<script type="text/javascript">
function onLoad() { 
    IN.Event.on(IN, "auth", getProfileData);
}

// Handle the successful return from the API call
function onSuccess(data) {
    alert(JSON.stringify(data));
}

// Handle an error response from the API call
function onError(error) {
    console.log(error);
}

// Use the API call wrapper to share content on LinkedIn

function getProfileData() {
    //alert(IN.ENV.auth.oauth_token);
    IN.API.Raw("/people/~:(id,positions)?format=json").result(onSuccess).error(onError);
}
</script>

返回结果显示:

{"id":"wQplQQjzLa","positions":{"_total":0}}

1 个答案:

答案 0 :(得分:1)

你好@John Hadikusumo, 好吧,我明白这个答复将在一年之后才会发生,但是,我也面临着一些与send api集成有关的问题,特别是当它来到&#34;职位&#34;对象值。

显然,当我收到错误时,其意思是使用他的linkedin个人资料进行授权的用户,该特定用户尚未发布他的体验详情,因此没有任何价值;

为了规避这个特殊问题,我所做的就是帮助了我:

    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;

            //this is the piece of code that helped me out;
            //might work for you as well;
            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;

        //and other logic/code continues...
    });
}

所以我希望这会帮助你。如果您遇到任何其他错误,请告诉我,如果我需要改进现有代码,我可以使用一些帮助。

干杯,祝你有个美好的一天。