Событие Facebook edge.create не запускается как лайк - PullRequest
6 голосов
/ 12 сентября 2011

У меня была страница с простой кнопкой в ​​стиле Facebook, и мне нужно было знать, когда пользователю понравилась страница, поэтому я использовал событие edge.create, чтобы все это работало нормально. Теперь мне нужно добавить плагин Like Box на страницу, чтобы понравиться странице клиента на Facebook, и снова мне нужно получать уведомление, когда кто-то нажимает кнопку Like. Однако событие подписки никогда не срабатывает. Есть идеи, в чем может быть проблема? Я использую код xfbml, чтобы добавить подобное поле.

Ответы [ 2 ]

5 голосов
/ 24 января 2012

Кажется, это ошибка.Вот ссылка на официальные достоверные источники:

http://developers.facebook.com/bugs/310763168934515

И мой jsFiddle здесь для демонстрации: http://jsfiddle.net/dmcs/3D2GD/1/

РЕДАКТИРОВАТЬ

Я нашел решение!

Сначала я поместил свой код в свой собственный домен, а не в jsFiddle, чтобы выполнить лучшее тестирование, однако моя первая попытка не удалась, как будто код все еще был в jsFiddle.Поэтому я устраняю ситуацию дальше.

Затем для настройки приложения, которую я указал, я вошел и указал WebSite url для https://developers.facebook.com/apps/{APP_ID}/summary

Вот мой код

<html>
<head>
    <title>Like Box example</title>
</head>

<body>

<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
    FB.init({
        appId: '{APP_ID}'
    });
    FB.Event.subscribe('edge.create', function(response) {
        alert('You liked the URL: ' + response);
    });
};

(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id; //js.async = true;
  js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId={APP_ID}";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));


</script>

<div class="fb-like-box" data-href="http://www.facebook.com/Cocacola" data-width="292" data-show-faces="true" data-stream="true" data-header="true"></div>

</body>
</html>
1 голос
/ 05 мая 2014

просто нужно заменить код:

<div class="fb-like-box" data-href="http://www.facebook.com/jsfiddle" 
data-width="292" data-show-faces="true" data-stream="false" data-header="true">

с этим:

<fb:like-box href="http://www.facebook.com/jsfiddle" 
colorscheme="light" show_faces="false" header="false" stream="false" 
show_border="false"></fb:like-box>

и все работает нормально.

...