Получите данные на стене или стене группы facebook для использования на личном веб-сайте

Я хочу подключиться к публичной странице или группе Facebook и перечислить все записи со стены на личном веб-сайте. Я буду использовать PHP на своем сервере, чтобы это было лучшим решением для меня. Или javascript.

Может ли кто-нибудь объяснить или, возможно, дать рабочий код о том, как это сделать? Или просто все шаги, необходимые для этого?

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

Спасибо, что помогли мне здесь!

Ответы

Ответ 1

Вам нужно запустить FQL на stream table и указать идентификатор интересующей вас страницы или группы как source_id (fb docs имеют некоторые объяснения и примеры). Как только вы получите данные о потоке, вы сможете копать глубже и получить пользователя, который оставил это сообщение или другие данные, которые вам нужны снова через FQL.

Существует много способов запуска FQL - это можно сделать в JS API, PHP API или через старый API REST.

Ответ 2

используйте графические символы facebook, которые они предоставляют

код python с использованием парсера simplejson

keyword="old spice"
searchurl='http://graph.facebook.com/search?q='+keyword
resp=urllib2.urlopen(searchurl)
pageData=resp.read()
json = simplejson.loads(pageData)
posts=json['data']
for p in posts:
    postid=p['id']
    username=p['from']['name']
    posterimg=p['icon']
    comment=p['message']

Ответ 3

В JavaScript (jQuery).

Вы можете использовать мой резервный access_token для просмотра общедоступных групп или страниц;)

Чтобы получить свой токен доступа, facebook graph explorer может сгенерировать его для вас (а также тестовые запросы).

В Javascript мы делаем запрос к графику facebook, который возвращает объект JSON. Ответ выглядит как this.

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

например:

data.data[0].created_time;
data.data[0].from.name;

и т.д..

Надеюсь, что это поможет!

<!DOCTYPE html>
<head>
<script src="http://code.jquery.com/jquery-1.6.2.min.js"></script>
</head>

<body>

<ul id = 'list'>
<script>

    var graphQuery = 'https://graph.facebook.com/2228101777/feed';
    var authToken = '145634995501895|477bb3c939123a5845afe90d.1-100002565213903|F1VA26jsYL7yBeq2iU6SZX_XXrs'

    var url =  graphQuery +'?access_token='+ authToken +'&callback=?';  

    $.getJSON(url,function(data){                       
        for( i=0; i < data.data.length; i++){
            $("#list").append('<li>'+ data.data[i].message +'</li>');   
            // add some more here if needed
        }               
    }); 

</script>

</ul>
</body>
</html>

Ответ 4

То, о чем вы говорите, насколько я могу судить, это веб-скребок. Что бы вы сделали, так это получить URL-адрес группы, использовать команду file_get_contents ($ url) в PHP, чтобы получить файл, а затем проанализировать его на PHP.

Я бы предложил раскрасить ваши регулярные выражения для этого, так как будет важно просмотреть HTML, который использует Facebook для настенных сообщений. Вы сможете получить информацию, которую вы ищете, из HTML.

Я бы опубликовал некоторый пример кода, но на другом компьютере, далеко. Тем не менее, должно быть хорошее начало.

Изменить: добавление в пример кода:

 $URL = "http://facebook.com/group=5343242" (or whatever the URL structure is for the facebook group)
$groupPage = file_get_contents($URL)

Здесь ссылка на страницы PHP на регулярные выражения:

http://www.php.net/manual/en/book.pcre.php