Кнопка «Нравится» в Facebook не публикует сообщения в Facebook

Я добавил кнопку facebook на свой сайт (xfbml) и все необходимые метатеги (app_id, title, type, url, image, site_name, desc) от og. Когда я нажал кнопку «Нравится», независимо от того, указал я комментарий или нет, я вижу, что количество лайков увеличилось, но ничего не публикуется на моем Facebook. Пока я не использовал инструмент LINT для отладки, пост выглядел так, как я хотел. Так что я думаю, что проблема в том, что facebook не очищает мою страницу в первый раз. Я прочитал со страницы разработчика:

Facebook очищает вашу страницу каждые 24 часа, чтобы обеспечить актуальность свойств. Страница также очищается, когда администратор страницы Open Graph нажимает кнопку «Нравится» и когда URL-адрес вводится в Facebook URL-линтер.

Я ждал более 24 часов, но ничего не происходит, пока я не использую Линтер. Но для любой ссылки, которую я использую в Линтере, кнопка лайка в фейсбуке работает отлично. Может ли кто-нибудь помочь мне с этой проблемой? Мой сайт вот-вот должен быть запущен в производство, но я не могу не решить эту проблему. Я взял меня уже 4 дня.

Мой сайт также использует Spring Social для входа в систему с аутентификацией через Facebook.

Вот мой код:

<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
    FB.init({
        appId : XXXXXXXX, 
        status : true, 
        cookie : true, 
        xfbml : true
    });

};

(function(d, debug) {
    var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
    if (d.getElementById(id)) {
        return;
    }
    js = d.createElement('script');
    js.id = id;
    js.async = true;
    js.src = "//connect.facebook.net/en_US/all" + (debug ? "/debug" : "")
            + ".js";
    ref.parentNode.insertBefore(js, ref);
}(document, /*debug*/false));

And in my html:

<fb:like href="http://example.com/abc" send="true" width="460" show_faces="true"></fb:like>
<br /> <br /> <br />
<fb:comments href="http://example.com/abc" num_posts="5" width="460"></fb:comments>

person Cong Thanh Vo    schedule 14.11.2012    source источник


Ответы (2)


Вы включили пространство имен xml

<html xmlns:fb="http://ogp.me/ns/fb#">

в начале документа??? Почему бы вместо этого не использовать iframe??? У меня лучше получалось...

person TDsouza    schedule 17.12.2012

Как сообщили разработчики facebook:

Включите JavaScript SDK на свою страницу один раз, в идеале сразу после открывающего тега.

<div id="fb-root"></div>
<script>(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/nl_NL/all.js#xfbml=1&appId=500886696626919";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>

Добавьте пространство имен XML в тег вашего документа. Это необходимо для работы XFBML в более ранних версиях Internet Explorer.

<html xmlns:fb="http://ogp.me/ns/fb#">

Разместите код вашего плагина там, где вы хотите, чтобы плагин отображался на вашей странице.

<fb:like href="http://www.frisianallies.nl" send="true" width="450" show_faces="true"></fb:like>

если вы добавите эти вещи на свой сайт, все будет работать, и вы даже сможете настроить их css.

person Marco Geertsma    schedule 29.04.2013