使用 FQL 简单返回 Facebook 状态
我正在尝试在页面一侧创建一个框,显示 Twitter 帐户和 Facebook 页面的 6 条最新帖子。 Twitter 正在按照我想要的方式运行,而 Facebook 则不然。
我目前的做法是使用 FQL 作为 JSON 使用 cURL 获取最新状态,将它们缓存在服务器上,然后以与实际框中的推文相同的方式显示它们。
我的问题在于访问令牌。我昨晚离开时它正常工作,今天早上回来发现我的缓存文件的修改日期没有改变。我检查了缓存的错误文件(如果获取的 JSON 不包含我需要的数据,则会转储该文件),并且出现会话过期错误。然后,我创建了一个小函数,它使用 cURL(3 个 cURL 调用或一个框,我知道 - 呃)来使用以下 URL 检索新的访问令牌:
但我现在收到一个错误,需要用户会话,但所有我想做的是阅读最新的帖子,这根本不依赖于用户。如果可能的话,我真的想避免使用 Facebook SDK。
Tl;dr - FQL 似乎要求用户登录,甚至只是为了读取设置页面墙上的状态 - 获取不需要用户会话的数据的正确方法是什么(最好不使用 SDK)。
I'm trying to create a box on the side of a page that displays the 6 latest posts from a Twitter account and Facebook page. Twitter is working exactly how I want it to - Facebook is not.
The way I am doing it at the moment is to fetch the latest statuses using FQL as JSON usin cURL, caching them on the server, then displaying them in the same way as I am the tweets in the actual box.
My problem lies with the access token. I went away last night with it working, came back this morning and noticed that the modified date of my cached file hadn't changed. I checked the cached error file (where the fetched JSON gets dumped if it doesn't contain the data I need) and I had a session expired error. I then created a small function that uses cURL (3 cURL calls or one box, I know - urgh) to retrieve a new access token using the this URL:
But I now get an error that a User Session is required, but all I want to do is to read the latest posts, that isn't user dependant at all. I really want to avoid using the Facebook SDK if possible.
Tl;dr - FQL seems to require users to log in even just to read statuses off of a set page's wall - what's the correct way of getting this data that doesn't require a user session (preferably without using the SDK).
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果您尝试从用户帐户获取状态,那么您将需要有效的用户访问令牌。
如果您要从粉丝页面获取状态,那么您只需要一个有效的应用程序访问令牌 - 可以从以下位置获取该令牌:
然后,您可以使用返回的访问令牌从目标粉丝页面获取状态。
您正在按用户 ID 进行查询,因此需要有效的用户访问令牌。
If you're trying to get the status from a User account then you will require a valid user access token.
If you're getting statuses from a Fan Page then you just require a valid app access token - which can be obtained from:
You can then use the returned access token to get the statuses from the target Fan Page.
You're querying by user id so that will require a valid user access token.