Linkedin JavaScript SDK не всегда возвращает адрес электронной почты пользователя - PullRequest
0 голосов
/ 05 декабря 2018

Я пытаюсь интегрировать функции входа в LinkedIn на свой веб-сайт с помощью LinkedIn JavaScript SDK, но он не всегда возвращает адрес электронной почты пользователя.Иногда это происходит, а иногда нет.

Вот мой код.

Загрузка API:

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

Эта функция получаетвызывается при загрузке API:

function onLinkedInLoad() {

    /*
    * Defining the scope
    */
    var scope = {scope: 'r_emailaddres'};

    /*
    * If the user is not authorized, attach a click event hander with .li-login button
    */
    if( !IN.User.isAuthorized() ) {

        $('.li-login').on('click', function( event ){
            event.preventDefault();

            IN.User.authorize(function(){
                getProfileData( false );
            }, scope);  
        });
    }
    else{

        IN.Event.on(IN, "auth", function(data){

            console.log(data)
            getProfileData( true );
        });
    } 
}

Определение функции getProfileData (readyLoggedin):

function getProfileData( alreadyLoggedin) {

    if(alreadyLoggedin){
        IN.API.Raw("/people/~:(id,firstName,lastName,emailAddress,picture-url)").result(function(response){

            $('.li-modal .user-fullname').html(response.firstName+' '+response.lastName);
            $('.li-modal img').attr('src', response.pictureUrl);
            $('.li-login').removeClass('li-login-btn'); 


            console.log(response)

        }).error(onError);
    }
    else{
        IN.API.Raw("/people/~:(id,firstName,lastName,emailAddress,picture-url)").result(function( response ){
            console.log(response);
            var data = {
                "first_name": response.firstName,
                "last_name": response.lastName,
                "email": response.emailAddress,
                "service": 'linkedin',
                "picture": response.pictureUrl,
            };  

            //attemptLogin(data); 

        }).error(onError);
    }

}

Код кнопки входа в систему:

<a href="#" class="li-login"><img src="images/linkedin-icon.png"></a>

По умолчанию выбранные разрешения для приложений: enter image description here

Быстрая помощь приветствуется.

...