Получите данные на стене или стене группы 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