Плагин комментария Facebook - PullRequest
       3

Плагин комментария Facebook

1 голос
/ 05 апреля 2011

Я использую плагин для комментариев в Facebook:

<fb:comments href="${myPageUrl}" num_posts="20" width="630"></fb:comments>

Все работает нормально.Проблема в том, что я хочу сохранить комментарий, размещенный в моей базе данных.Есть ли способ получить текст, размещенный в поле для комментариев.

Я использую следующие js для захвата comment-create события.

FB.Event.subscribe('comment.create', function(response) {        
        alert(response.commentID)
});

Я получаю от этого commentId, но не знаю, как получить точный комментарийразмещено на определенном событии comment-create.

Ответы [ 3 ]

2 голосов
/ 15 февраля 2012

Coomie: На самом деле, когда публикуется комментарий, я ловлю событие через 'comment.create'. Я смог поймать событие, но мне было интересно, как разместить комментарий (текст) на этом конкретном мероприятии. Например, event.text или event.comment, но прямой метод не найден

Итак, теперь я манипулирую им с помощью fql. Что несколько похоже на ваш пример. Сначала получить весь список, а затем выбрать верхний. Мой пример кода ниже:

FB.Event.subscribe('comment.create', function(response) {
      FB.api({
        method: 'fql.query',
        query: "SELECT post_fbid, fromid, object_id, text, time from comment WHERE  object_id in (select comments_fbid from link_stat where url ='${PageUrl}') order by time desc limit 1"
      },
      function(response) {
        var feed = response[0];          
        alert(feed.text)
      });
});  

Так что этот метод дает мне точно такой же результат, который я хочу.

1 голос
/ 07 ноября 2012
FB.Event.subscribe('comment.create', function(response) {
  var commentQuery = FB.Data.query('SELECT fromid, text FROM comment WHERE post_fbid=\'' + response.commentID + '\' AND object_id IN (SELECT comments_fbid FROM link_stat WHERE url=\'' + response.href + '\')');
  FB.Data.waitOn([commentQuery], function () {
    text = commentQuery.value[0].text;
    // Use your preferred way to inform the server to save comment
    $.post( 'http://example.com/comment', text )
  });
});
1 голос
/ 10 февраля 2012

У меня нет полного ответа, но это должно помочь вам в этом.

Вы можете использовать api graph facebook, чтобы извлечь информацию об идентификаторе открытого графика (идентификатор открытого графика - это способ FBидентификация человека, веб-сайта, приложения или URL).Например.эта страница: http://www.inhousegroup.com.au/newsroom/23-best-practice-for-advanced-seo/ (место, где меня уволили) использует поле для комментариев.Веб-страница имеет открытый идентификатор 10150441190653416. Поэтому, когда вы комментируете эту страницу, Facebook видит ваш комментарий в виде поста на «стене» этой страницы.

Используя график API, вы можете получить некоторую информацию в формате JSON остраница здесь: http: /graph.facebook.com/10150441190653416

И вы можете получать сообщения по этому адресу: http://graph.facebook.com/10150441190653416/posts

Но вам нужно будет получить маркер доступа.

Тогда вам просто нужно импортировать записи при сохранении и сравнить свою базу данных с JSON и добавить записи как необходимые.

Удачи!

...