使用FQL返回简单的Facebook状态

时间:2011-08-12 08:43:55

标签: php facebook facebook-fql

我正在尝试在页面一侧创建一个框,显示来自Twitter帐户和Facebook页面的6个最新帖子。 Twitter的工作正是我想要的 - Facebook不是。

我现在这样做的方法是使用FQL作为JSON使用cURL获取最新状态,在服务器上缓存它们,然后以与我在实际框中的推文相同的方式显示它们。

我的问题在于访问令牌。我昨晚带着它去了,今天早上回来,注意到我的缓存文件的修改日期没有改变。我检查了缓存的错误文件(如果它不包含我需要的数据,那么获取的JSON将被转储)并且我有一个会话过期错误。然后我创建了一个小函数,使用cURL(3个cURL调用或一个盒子,我知道 - urgh)使用此URL检索新的访问令牌:

https://graph.facebook.com/oauth/access_token?grant_type=client_credentials&client_id=XXX&client_secret=XXXX

但我现在得到一个错误,即需要用户会话,但我想要做的就是阅读最新的帖子,完全不依赖于用户。我真的想尽可能避免使用Facebook SDK。

Tl; dr - FQL似乎要求用户登录甚至只是为了从设置页面的墙上读取状态 - 获取此数据的正确方法是什么,不需要用户会话(最好不使用SDK)

1 个答案:

答案 0 :(得分:1)

如果您尝试从用户帐户获取状态,则需要有效的用户访问令牌。

如果您从粉丝页面获取状态,那么您只需要一个有效的应用访问令牌 - 可以从以下网址获取:

https://graph.facebook.com/oauth/access_token?client_id=YOUR_APP_ID&client_secret=YOUR_APP_SECRET&grant_type=client_credentials

然后,您可以使用返回的访问令牌从目标粉丝页面获取状态。


  

SELECT id,status_id,message,time FROM status WHERE uid = XXXX LIMIT 6

您正在按用户ID进行查询,因此需要有效的用户访问令牌。