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

How to Get Access Token Using LinkedIn API JavaScript SDK

我正在尝试在登录后获取 LinkedIn 访问令牌。使用 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。非常感谢任何帮助!

谢谢!

希望以下代码有效

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);
    }
}