如何使用LinkedIn API JavaScript SDK获取访问令牌

时间:2016-08-31 11:31:21

标签: javascript c# linkedin linkedin-api

我想在登录后获得LinkedIn Access Token。使用JavaScript SDK登录正常,我可以接收" oauth_token" member_id 。我需要access_token来验证电子邮件地址(如果它没有伪造的话)。

以下是我的剧本:

<script>
function LoginWithLinkedIn() {
        IN.User.authorize(afterAuthorization); 
    }
    function afterAuthorization(response){
        debugger
        if(IN.User.isAuthorized()==true){
            getProfileData();
        }
    }
    function onSuccess(data) {
        console.log(data);
    }
    function onError(error) {
        console.log(error);
    }
    function getProfileData(r) {
        IN.API.Profile("me")
         .fields("id,firstName,lastName,email-address,picture-urls::(original),public-profile-url,location:(name)")
         .result(onSuccess)
         .error(onError);
    }
</script>

成功授权后,我需要帮助获取access_token。任何帮助都非常感谢!

谢谢!

1 个答案:

答案 0 :(得分:2)

希望以下代码可以正常工作

function LinkedInLogin() {
    IN.User.authorize(getProfileData);
}
function onSuccess(data) {
    jQuery('#hdnAccessToken').val(IN.ENV.auth.oauth_token);
    try {
        jQuery('#hdnSocialLoginType').val('in');
        jQuery('#HiddenFieldUserId').val(data.values[0].id);
        jQuery('#HiddenFieldEmail').val(data.values[0].emailAddress);
        jQuery('#HiddenFieldFirstName').val(data.values[0].firstName);
        jQuery('#HiddenFieldLastName').val(data.values[0].lastName);
        jQuery('#HiddenFieldType').val('linkedin');
        jQuery('#BtnLoginSocial').click();
    }
    catch (err) {
        alert(jQuery('#HiddenErrorMessage').val());
    }
    //console.log(data);
}
function onError(error) {
    console.log(error);
}
function getProfileData() {
    if (IN.User.isAuthorized() == true) {
        IN.API.Profile("me").fields("id,firstName,lastName,email-address").result(onSuccess).error(onError);
    }
}