Fb.api неопределенный пользователь - PullRequest
4 голосов
/ 14 марта 2011

У меня следующая проблема:

После того, как пользователь вошел в Facebook, если я запускаю следующий код:

FB.api('/me', function(user) {
      alert(user.name);
});

Появляется предупреждение с надписью «Udefined».

Но если я изменю код следующим образом:

FB.api( /[MY_REAL_FACEBOOK_ID], function(user) {
      alert(user.name);
});

Правильный ответ.

Как это возможно? Почему «/ я» никогда не работает?

Ответы [ 2 ]

1 голос
/ 07 июня 2013

Используйте приведенный ниже код для преодоления неопределенной проблемы:

window.fbAsyncInit = function() {
    // init the FB JS SDK
    FB.init({
      appId      : your_app_id,                        
      status     : true,                                 
      xfbml      : true                                 
    });

    // Additional initialization code such as adding Event Listeners goes here

    FB.getLoginStatus(function(response) {
        if (response.status === 'connected') {
            alert("connected");
            connecter=true;
            FB.api('/me', function(user) {
                alert(user.name);
                alert(user.first_name);
                alert(user.last_name);
                alert(user.email);
            });
        } 
    });
1 голос
/ 14 марта 2011

Я думаю, что вы можете запрашивать "/ me" в контексте приложения, а не пользователя.Документация не такая явная, как могла бы быть, но у меня была та же проблема.

Можете ли вы использовать FB.getLoginStatus ?

После того, как яУстановив FB.init, я вызываю FB.getLoginStatus, как показано ниже.Возможно, есть лучший способ сделать это, но он работает для меня.

Надеюсь, это поможет:

 FB.getLoginStatus(function (response) {

            if (response.session) {
                // logged in and connected user, someone you know

                graphUrl = "https://graph.facebook.com/me?access_token=" +         response.session.access_token + "&callback=displayUser"
                var script = document.createElement("script");
                script.src = graphUrl;
                document.body.appendChild(script);


            } else {
                // no user session available, someone you dont know

            }});


 function displayUser(user) {

        alert(user.name);
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...