Кнопка Facebook как автоматически расстегивает себя

StackOverflow https://stackoverflow.com/questions/4305013

  •  29-09-2019
  •  | 
  •  

Вопрос

У меня есть несколько кнопок Facebook, которые оказываются на сам, которые отображаются через XFBML. После нажатия на них, они, кажется, работают в том, что они изменяются из стандартной кнопки, как кнопка «Большие пальцы вверх», который говорит «Тебе нравится». Однако после второго или двух (я полагаю, что время, необходимое для достижения серверов FB и вернуться), он автоматически несуществует, возвращаясь в оригинальную кнопку «Как».

Смотрите видео того, что я имею в виду здесь.

Мой код довольно стандартный:

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml" lang="en">

...

<fb:like href="http://www.example.com/valid/path" layout="button_count" ref="recipe_preview" />

...

<script type="text/javascript">
    window.fbAsyncInitExt = function() {
        FB.Event.subscribe('edge.create', function(response) {
            alert('Facebook Like Button: ' + response);
        });
    };
</script>

...

<div id="fb-root"></div>
<script type="text/javascript"> 
    window.fbAsyncInit = function() {
        FB.init({
            appId:  'XXXXXXXXXX',  // my app ID is here
            status: true,
            cookie: true,
            xfbml:  true
        });
        if (typeof(fbAsyncInitExt) == 'function') {
            fbAsyncInitExt();
        }
    };
    (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> 

Редактировать: Для чего стоит, я также попытался посмотреть, отправляет ли Facebook отправлять любую информацию журнала, но она не имела:

<script type="text/javascript">
    window.fbAsyncInitExt = function() {
        FB.Event.subscribe('edge.create', function(response) {
            alert('Facebook Like Button: ' + response);
            console.debug(response);
        });
        FB.Event.subscribe('fb.log', function(response) {
            alert('LOG: ' + response);
            console.debug(response);
        });
    };
</script>
Это было полезно?

Решение

После большого количества копания я наконец обнаружил источник ошибки. Оказывается, страница, на которую ссылаются href ценность в моем fb:like тег требуется хотя бы один из fb:app_id или fb:admins Мета теги в голове. Для справки: http://developers.facebook.com/docs/Opengraph

Другие советы

После пробования всех решений я могу найти, нет работы, но я попытался использовать ID приложения «Live Feed», а не по умолчанию «Live Stream», когда вы получаете свой код с страницы разработчиков Facebook, которые работали для меня.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top