Простой вопрос о плагине комментариев Facebook - PullRequest
4 голосов
/ 21 марта 2011

Я борюсь с очень простой проблемой.Документация на фейсбуке, как всегда, не дала мне достаточного объяснения.

Я прикрепил плагин комментариев на свой сайт.И используя обратный вызов события "comment.create", я могу получить информацию о только что созданном комментарии.

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

Ответ json выглядит следующим образом:

{"href":"http://siteaddress.com/page.htm", "commentID":"111122223333" }

Что мне нравитсясделать сейчас, чтобы получить данные одного комментария с commentID.Хотя я ожидал, что следующий способ должен работать:

https://graph.facebook.com/111122223333

, он просто дал мне «Ложь».Я могу получить все комментарии, прикрепленные к этой странице, используя:

https://graph.facebook.com/comments?ids=http://siteaddress.com/page.htm

Но как правильно извлечь данные отдельного комментария, только что созданные с использованием commentID?

Ответы [ 5 ]

9 голосов
/ 21 апреля 2011

Я также столкнулся с той же проблемой ... поэтому я запросил последний опубликованный комментарий или ответ из таблицы комментариев fb, используя 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 ='URL_OF_THE_COMMENT_BOX') or object_id in (select post_fbid from comment where object_id in (select comments_fbid from link_stat where url ='URL_OF_THE_COMMENT_BOX')) order by time desc limit 1"
      },
      function(response) {
        var feed = response[0];
        alert(feed.text)
      }
    );
  });  
0 голосов
/ 19 февраля 2013

Я объединил пару подходов (в том числе от Charsee).

// этот запрос принимает "commentID" и "href". Код комментария возвращается в объекте comment.create "response"

// этот код требует escape-функции "addlashes (str)" для обработки одинарных кавычек.

var query = "SELECT text, fromid ОТ комментария WHERE post_fbid = '" + addlashes (commentID) + "' AND (object_id in (выберите comments_fbid из link_stat, где url = '" + addlashes (href) + "') или object_id in (выберите post_fbid из комментария, где object_id in (выберите comments_fbid из link_stat, где url = '"+ addlashes (href) +"'))) ";

0 голосов
/ 26 сентября 2011

Hm.Я могу получить данные комментария по идентификатору (формат идентификатора такой: 1234567890123456_12345678).Идентификаторы, которые я получаю от URL, вот так: https://graph.facebook.com/comments?ids={$url}

0 голосов
/ 07 апреля 2011

У меня такая же проблема. Похоже, происходит то, что commentID и parentCommentID на самом деле просто возвращают уникальный идентификатор этой страницы, а не уникальный идентификатор самого комментария.

Уникальный идентификатор для отдельного комментария - это уникальный идентификатор страницы (то есть значение, возвращаемое в настоящее время как "commentID") с подчеркиванием, за которым следует другое число (длиной 8 цифр в тестах, которые я сделал) , Вы можете посмотреть это прямо на графике ответа, предоставленного им.

Я зарегистрировал ошибку в Facebook, чтобы исправить это! Ошибка по адресу ниже:

http://bugs.developers.facebook.net/show_bug.cgi?id=16535

0 голосов
/ 21 марта 2011

Привет, если у вас есть идентификатор комментария, то почему вы не используете FQL и запрашиваете Таблица комментариев , чтобы получить все данные, связанные с комментариями?

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