Facebook Проверка IsFan не работает, пожалуйста, помогите - PullRequest
1 голос
/ 17 мая 2011
    <script type="text/javascript">
        window.fbAsyncInit = function() {
            FB.init({appId: '197724456937488', status: true, cookie: true, xfbml: true});

            // this will fire when any of the like widgets are "liked" by the user
FB.Event.subscribe('edge.create', function(response) {

         document.getElementById('likepost').style.display = "";
             document.getElementById('falsebox').style.display = "none";
              document.getElementById('fb').style.display = "";

});

FB.Event.subscribe('edge.remove', function(response) {
    console.log('This was UNliked from this page: ' + window.location);
});
        };
        (function() {
            var e = document.createElement('script');
            e.type = 'text/javascript';
            e.src = document.location.protocol +
                '//connect.facebook.net/en_US/all.js';
            e.async = true;
            document.getElementById('fb-root').appendChild(e);
        }());

    </script>

    <div id="fb" style="display:none">    
    <fb:like-box href="<?php echo $detail['Post_FB'] ;?>" width="292" height="100" show_faces="false" stream="false" header="false"></fb:like-box>
    </div>
    <div id="link" style="display:none">
    <fb:like href="http://design-pro.co.cc/appleworld/post.php?id=<?php echo $id?>" send="false" width="450" show_faces="true" font=""></fb:like>     
    </div>

1 Ответ

0 голосов
/ 17 мая 2011

Используйте это в качестве отправной точки для справки: http://developers.facebook.com/docs/reference/javascript/FB.init/

Первое, на что нужно обратить внимание, это то, как завернут вызов FB.init ():

window.fbAsyncInit = function() {
  ...
};

Вы уже настраиваете'status' в true при вызове инициализации, поэтому вы должны иметь возможность подписаться на событие, которое будет возвращать значение статуса, сообщающее вам статус входа пользователя.

Проверить: http://developers.facebook.com/docs/reference/javascript/FB.Event.subscribe/

Ваш FB.Event.subscribe(...) вызов также должен быть внутри того же window.fbAsyncInit() вызова.

Как только вы убедитесь, что пользователь вошел в систему, вы можете проверить состояние вентилятора.Вам все еще нужно использовать старый API REST, поскольку Facebook не перенес это на API Graph: http://developers.facebook.com/docs/reference/rest/pages.isFan/

Обратите внимание: мы находимся в процессе устаревания API REST и будемдобавить эквивалентную поддержку Graph API для этого метода.Вы должны продолжать использовать этот метод до тех пор, пока мы не объявим о поддержке в Graph API.

Надеюсь, это направит вас в правильном направлении.

Этот учебник также может помочь: http://thinkdiff.net/facebook/graph-api-javascript-base-facebook-connect-tutorial/

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