Как читать каналы facebook, используя формат json в javascript

Это URL моей платы в формате json здесь

Я хочу знать, как получить содержимое поста, заголовок, лайки, комментарий, используя метод jquery getJSON. Любая помощь будет оценена?

КОД JQUERY

$("document").ready(function() {
    $.getJSON("https://www.facebook.com/feeds/page.php?id=397319800348866&format=json", function(data) {
        $("#div-my-table").text("<table>");
        $.each(data, function(i, item) {
            $("#div-my-table").append("<tr><td>" + item.EncoderName + "</td><td>" + item.EncoderStatus + "</td></tr>");
        });
        $("#div-my-table").append("</table>");
    });
});

HTML-код

<table id="div-my-table">
    <tr><td></td></tr>
     <tr><td></td></tr>
     <tr><td></td></tr>
</table>

person sami    schedule 19.12.2012    source источник


Ответы (2)


Используйте jquery getJSON() с обратным вызовом =? поэтому он будет использовать JSONP. Вы должны использовать некоторые API, такие как graph graph.facebook.com Что-то вроде приведенного ниже.

$.getJSON('https://graph.facebook.com/397319800348866?callback=?', function(data) {
     console.log(data);
     $('#likes').text(data.likes);

})
.success(function() { console.log('success'); })
.error(function() { console.log('error'); })
.complete(function() { console.log('complete'); });​

HTML

 likes: <div id='likes'></div>​
person Doink    schedule 19.12.2012
comment
Я только что попробовал и отредактировал. Оно работает. См. jsfiddle.net/Doinkmeister/abWwb. - person Doink; 19.12.2012
comment
Просто нажмите F12 в Chrome и перейдите в консоль, чтобы увидеть вывод. - person Doink; 19.12.2012

Вы не можете, так как фид находится в домене, отличном от того, на котором вы будете запускать свой Javascript, и вы не можете выполнять междоменные запросы с помощью AJAX.

Вам нужно будет реализовать решение на стороне сервера с использованием PHP или аналогичного для извлечения данных и регургитации их в виде JSON, а затем использовать ваш AJAX для загрузки вашего локального скрипта в том же домене.

person Nick Coad    schedule 19.12.2012
comment
Итак, как это сделать с помощью php? - person sami; 19.12.2012
comment
мерцание использует JSONP, а не JSON. Использовать обратный вызов =? использовать JSONP. Однако не уверен, поддерживает ли это Facebook. - person Doink; 19.12.2012
comment
Просто обновление. Это работает для facebook, если вы используете callback=? Прочтите следующую страницу для получения дополнительной информации. developers.facebook.com/docs/reference/api - person Doink; 19.12.2012