从 Facebook 页面墙或群组墙获取数据以在个人网站上使用

发布于 2024-09-13 05:52:31 字数 215 浏览 9 评论 0原文

我想连接到公共 Facebook 页面或群组,并在个人网站上列出墙上的所有条目。我将在我的服务器上使用 PHP,所以这对我来说是最好的解决方案。或者 JavaScript。

有人能解释一下或者给出一个关于如何做到这一点的工作代码吗?或者只是制作这个所需的所有步骤?

如果可以处理每个帖子的人物、日期、描述等信息,那就太好了!所以我的布局可以定制。

谢谢你在这里帮助我!

I want to connect to public facebook page or group and list all entries from the wall on a personal website. I will use PHP on my server so that would be the best solution for me. Or javascript.

Could anyone explain or perhaps give a working code on how to do this? Or just all steps nessesary for making this?

If its possible to handle information about person, date, description ... for each post, that would be great! So my layout could be customized.

Thanks for helping me out here!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

琉璃梦幻 2024-09-20 05:52:31

您需要在流表上运行FQL并且提供您感兴趣的页面或组的 ID 作为 source_id (fb 文档有一些解释和示例)。获得流数据后,您可以更深入地挖掘并通过 FQL 获取留下此帖子的用户或您再次需要的任何其他数据。

运行 FQL 的方法有很多 - 可以通过 JS API、PHP API 或通过旧的 REST API 来完成。

You need to run FQL on stream table and provide id of a page or group you are interested in as source_id (fb docs have some explanation and examples). Once you get stream data you can dig deeper and get user who left this post or any other data you need again through FQL.

There are many ways of running FQL - it could be done in JS API, PHP API, or through old REST API.

你与昨日 2024-09-20 05:52:31

的 facebook graph api url

使用他们提供的使用 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']

use the facebook graph api urls that they provide

python code using simplejson parser

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']
最近可好 2024-09-20 05:52:31

在 JavaScript (jQuery) 中。

您可以使用我的备用 access_token 查看公共群组或页面;)

要获取您自己的访问令牌,facebook graph explorer< /a> 可以为您生成一个(以及测试查询)。

在 Javascript 中,我们向 facebook graph 发出请求,它返回一个 JSON 对象。响应看起来像 这个

下面的代码会迭代每个条目并打印出消息,如果您查看上面的链接,它会为您提供其他数据字段的命名约定。

例如:

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>

In JavaScript (jQuery).

You can use my spare access_token for viewing public groups or pages ;)

To get your own access token the facebook graph explorer can generate one for you (as well as test queries).

In Javascript we make a request to facebook graph, which returns a JSON object. The response looks like this.

The code below iterates though each entry and prints out the message, if you look at the link above it gives you the naming convention for the other data fields.

for example:

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

etc..

Hope that Helps!

<!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>
踏月而来 2024-09-20 05:52:31

据我所知,你所说的是网页抓取。您要做的就是获取该组的 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 页面的链接:

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

What you are talking about, as far as I can tell, is Web Scraping. What you would do is get the URL of the group, use the file_get_contents($url) command in PHP to get the file, and then analyze it in PHP.

I'd suggest brushing up on your regular expressions for this, as it'll be important to review the HTML that Facebook uses for the wall posts. You'll be able to get the information that you're looking for from the HTML.

I would post some example code, but that's on another computer, far far away. Still, should be a good start.

Edit: Adding in some example code:

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

Here's the link to the PHP pages on Regular Expressions:

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文