Facebook API / httpclient包装器,用于爬过墙上的帖子&任何用户的小组帖子?

时间:2010-11-06 06:54:42

标签: facebook

我是facebook api的全新人,正在开展一个非常小的项目。在详细了解他们的api文档之前,我想问一个简单的问题。

我的应用程序需要使用facebook用户名/密码登录,转到朋友墙/组墙,爬过所有墙上的帖子并将其转储到数据库中以供进一步分析。如果没有javascript,facebook没有完全无法使用,那么一个简单的http客户端就可以解决问题。由于它将成为一个桌面应用程序,我不愿意去一个完整的基于服务器的应用程序。

那么在FB朋友/小组墙上爬行的最简单方法是什么呢?如果我问错了问题,请纠正我,因为我有零FB知识。

PS:我想要一个基于java的库/包装器,但任何语言都可以......

4 个答案:

答案 0 :(得分:0)

目前的api有一些严重的错误。要么您只从墙上获得50件物品,要么只获得最后30天的物品,这是第一件。

请先查看facebook开发人员错误列表。 Developer Bug list

答案 1 :(得分:0)

好的,在快速搜索中,似乎答案是FB Graph API。我可以看到几乎所有语言都有图形api的包装器。对于Java,我找到了RestFB& BatchFB。如果可以的话,请随时参考任何更有用/更高级的API。

更新:

我找不到任何扩展权限集来访问用户的组墙/用户的朋友墙?是否可以使用应用程序?

答案 2 :(得分:0)

Facebook Graph API将是最好的解决方案,但如果它是错误的,正如Herr Kaleun指出的那样,你需要超过50个项目或30天的帖子,那么我还有另一个想法。

它可能无法满足您的分发要求,但如果确实如此,您可以将其实现为GreaseMonkey用户脚本。 GreaseMonkey是一个支持javascript的Web客户端自动化系统。它存在于Web浏览器中,由javascript编写和控制,也可以实际模拟影响javascript的用户。 GreaseMonkey是一个Firefox插件,但Chrome也有用户脚本的原生支持(语言略有不同,但大多数GreaseMonkey用户脚本都可以在Chrome中使用)。

答案 3 :(得分:0)

先决条件:

您的群组需要公开查看您需要注册制作Facebook应用,才能获得APP_ID和SECRET_KEY。

然后,(在PHP中的示例,但应该很容易转换为另一种语言):

$url =
"https://graph.facebook.com/{$group_id}/feed?access_token=APP_ID|SECRET_KEY";

$data = json_decode(file_get_contents($url));

foreach($data->data as $d)
{
   ?>
   <div>
    <a href="http://facebook.com/profile.php?id=<?=$d->from->id?>">
    <img border="0" alt="<?=$d->from->name?>"
        src="https://graph.facebook.com/<?=$d->from->id?>/picture"/>
    </a>
   </div>
   <div>
    <a href="http://facebook.com/profile.php?id=<?=$d->from->id?>">
    <?=$d->from->name?></a>
    on <?=date('F j, Y H:i',strtotime($d->created_time))?>
    <br/>
    <?=$d->message?>
  </div>
</div>
<?
}

这将获得墙上的帖子。至于限制,我不知道。