使用 Facebook Graph API,如何获取页面内容?
例如,这是一个“页面”:
http://www.facebook.com/facebook
该页面有一个 RSS 提要(理想情况下我想使用它),但是 a) 它浏览器嗅探意味着我需要从脚本中伪造用户代理来获取它 - 这感觉真的很脆弱 b) 的质量返回的数据确实很差。
我可以使用图形 API 来获取相同的数据吗?此 URL:
https://graph.facebook.com/facebook/feed
暗示我 < em>可以,并且 json 对我来说很好,尽管我是从 PHP 脚本而不是客户端获取它。但是,当我为实际页面尝试该 URL 时,我得到以下信息:
{
"error": {
"type": "OAuthAccessTokenException",
"message": "An access token is required to request this resource."
}
}
我不明白为什么我的页面需要访问令牌,而其他页面是“更公开”的 - 这是页面上某处的配置吗?如果没有,获取访问密钥的最佳方法是什么 - 请注意,这不是要求页面所有者进行身份验证的交互式脚本。
For example, here's a 'page':
http://www.facebook.com/facebook
That page has an RSS feed (which I'd like to use, ideally), but a) it browser-sniffs meaning I need to fake the user-agent from a script to fetch it - and that feels really brittle b) the quality of the data returned is really poor.
Can I use the graph api to fetch the same data? This URL:
https://graph.facebook.com/facebook/feed
implies that I can, and json is fine for me, although I'm fetching this from a PHP script rather than client-side. However, when I try that URL for my actual page, I get the following:
{
"error": {
"type": "OAuthAccessTokenException",
"message": "An access token is required to request this resource."
}
}
I don't understand why an access token is required for my page, whilst other pages are 'more public' - is that a configuration on the page somewhere? If not, what's the best way of obtaining the access key - note that this is not an interactive script asking the page owner to authenticate.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果我尝试通过 CURL 访问 URL,它在 PHP 中工作正常。
使用这个 php 函数:
If I try to access the URL via CURL, it works OK for me in PHP.
Using this php function:
更新:自 2011 年 6 月 3 日起,所有 API 请求都需要有效的应用程序或用户 access_token。
欲了解更多信息:http://developers.facebook.com/blog/post/509/
Update: As of June 3, 2011, a valid app or user access_token is required with all API requests.
For more info: http://developers.facebook.com/blog/post/509/