我想要连接到公共Facebook页面或组,并在个人网站上列出墙上的所有条目。我将在我的服务器上使用PHP,这对我来说是最好的解决方案。或者javascript。
有人可以解释或者提供一个有关如何执行此操作的代码吗?或者只是为了做到这一点所有的步骤?
如果可以处理每个帖子的人,日期,描述等信息,那就太棒了!所以我的布局可以定制。
感谢您帮助我!
答案 0 :(得分:4)
您需要在stream table
上运行FQL并提供您感兴趣的页面或组的ID source_id
(fb docs有一些解释和示例)。获得流数据后,您可以更深入地挖掘并通过FQL再次离开此帖子或您需要的任何其他数据。
有许多运行FQL的方法 - 可以在JS API,PHP API或旧的REST API中完成。
答案 1 :(得分:2)
使用他们提供的facebook图表API
使用simplejson解析器的python代码
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']
答案 2 :(得分:2)
在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>
答案 3 :(得分:0)
据我所知,你所说的是Web Scraping。你要做的是获取组的URL,使用PHP中的file_get_contents($ url)命令获取文件,然后在PHP中进行分析。
我建议为此修改正则表达式,因为查看Facebook用于墙上帖子的HTML非常重要。您将能够从HTML中获取您正在寻找的信息。
我会发布一些示例代码,但这是在远处的另一台计算机上。不过,应该是一个好的开始。
编辑:添加一些示例代码:
$URL = "http://facebook.com/group=5343242" (or whatever the URL structure is for the facebook group)
$groupPage = file_get_contents($URL)
以下是正则表达式上PHP页面的链接: