2012-04-02 51 views
5

这整个Facebook access_token的事情是让我疯狂。我想要做的就是获取用户的公开Facebook帖子。解释Facebook access_token

它使用简单地做工作:

$.getJSON('http://graph.facebook.com/USERNAME/posts?limit=LIMIT&callback=?', function (posts) { 
    // Posts available in "posts" variable 
}); 

但现在我得到的“ACCESS_TOKEN需要”的错误。

相信我;我检查了文档,Google搜索了所有内容,并检查了类似的问题,但我真的希望有一个更直接的做法,比我见过的方式。

真的必须创建一个Facebook应用程序(我甚至没有一个帐户),让用户“接受”的应用程序和登录等这个工作?

通过Twitter,它和以前一样简单。

回答

2

你真的必须创建一个Facebook应用程序(你需要有一个帐户),让用户“接受”的应用程序和登录等这个工作。

但是,您可以通过Facebook的公共搜索api搜索用户(非特定用户)的公共帖子。

例如

https://graph.facebook.com/search?q=hello&type=post 

这将搜索所有包含hello关键字的文章。

参考(你需要有Facebook帐户看到这个页面)

http://developers.facebook.com/docs/reference/api/

编辑(看到评论后):

如果您要访问的公开信息发表的自己的页面。你可以把它从没有任何用户登录(但你需要一个的access_token)

生成从这里离线的access_token,

http://developers.facebook.com/tools/explorer

然后,您可以使用该令牌来提取数据。因此不需要用户登录。

https://graph.facebook.com/wesellwine/posts?access_token=<access_token from graph api explorer> 
+0

感谢您的回答。如果你问我那完全疯了。我想要做的(当然,我的客户)在他们的网站上显示他们的帖子。为什么访客需要接受?如果访问者没有Facebook帐户,该怎么办?我知道我不是唯一有这个问题的人。我设法通过使用其他人的访问令牌来实现它(我理解这很不理想)。但到目前为止,它在一段时间后总是停止工作。 – powerbuoy 2012-04-02 03:55:51

+1

因为Facebook更改了他们的隐私设置。并不是说你不能继续这样做(正如Jashwant指出的那样),你不能在没有用户许可的情况下以编程方式获取私人信息。这与您访问某人不是您的朋友的某个人的Facebook页面相同。如果他们的帖子不可见,那么这意味着他们已经以这种方式配置了他们的安全,并且您需要他们的许可强制你创建一个应用程序确保信息请求是合法的和可追踪的,因为很容易让普通的FB用户同意一个Yes/No对话框。 – Terry 2012-04-02 03:59:36

+0

但是我只能在公开获得信息之后。我可以刮网站,并获得我后来的信息,但我不想。 – powerbuoy 2012-04-02 04:23:22