如何枚举公开的帖子?例如。即使没有登录fb,你可以在fb.com/pepsi页面看到很长的帖子列表如何检索它们?
我正在尝试找到一种方法来从粉丝页面的墙上枚举帖子ID并逐个循环浏览它们。因为我只知道百事可乐页面的ID,所以我从那里开始。我希望在将它们枚举为列表后循环遍历每个帖子ID。非常感谢。
答案 0 :(得分:1)
嗯,你仍然可以在不登录Facebook的情况下查询Graph API,但是你需要一个访问令牌。您只需创建一个应用程序并使用APP_ID|APP_SECRET
作为应用程序访问令牌。我认为这应该足以只处理公共职位。
对https://graph.facebook.com/56381779049/posts?access_token=XXX
的调用将返回该页面上/的公共内容的JSON数据。
{
"data": [
{
"id": "56381779049_10151643119694050",
"from": {
"category": "Food/beverages",
"name": "Pepsi",
"id": "56381779049"
},
"story": "\"Thanks for sharing Bobby! Love...\" on Bobby Kirchner's photo.",
...
"created_time": "2013-03-29T21:35:41+0000",
"updated_time": "2013-03-29T21:35:41+0000"
},
{
"id": "56381779049_10151639464904050",
"from": {
"category": "Food/beverages",
"name": "Pepsi",
"id": "56381779049"
},
"story": "\"Hi James, sorry to hear that....\" on James Kraus II's photo.",
...
"created_time": "2013-03-27T18:23:49+0000",
"updated_time": "2013-03-27T18:23:49+0000"
},
...
根据您使用的语言,迭代所有数据并将其转换为更容易执行分析的结构将非常简单。例如,在PHP中,有一个json_decode()
函数,它将JSON数据转换为普通的PHP数组。
请注意,每当您查询Facebook API并且要返回相对大量的数据时,每个请求中都会有一个分页机制。它看起来像这样 -
"paging": {
"previous": "https://graph.facebook.com/56381779049/posts?access_token=XXX&limit=25&since=1364592941&__previous=1",
"next": "https://graph.facebook.com/56381779049/posts?access_token=XXX&limit=25&until=1362582226"
}