Есть несколько способов сделать это.
Первый способ - собрать все комментарии за один раз.Вы должны делать это периодически, чтобы получать новые комментарии и избегать дублирования старых в вашей базе данных.
Это может быть достигнуто путем доступа к API Graph с URL-адресом вашей страницы:
https://graph.facebook.com/comments/?ids=http://example.com/your_page
Возвращает комментарии в формате JSON, которые необходимо проанализировать.Если их слишком много, будет «хэш-пейджинг», сообщающий адрес следующей страницы.
Второй способ - отслеживать новый комментарий и сразу же его сохранять.Это позволяет избежать проблемы повторного дублирования.Для этого потребуется использовать Javascript и Facebook js события .
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 )
});
});
В приведенном ниже примере извлекается комментарий на стороне клиента.Но вы также можете сделать это на стороне сервера.
Конечно, вам нужно включить библиотеку Javascript Facebook и реализовать действие публикации (http://example.com/comment) на вашем сервере.