我以前使用过 iOS Facebook SDK 来发布到一个人的时间线或通过应用程序分享。但是,现在我只想阅读公共流,政治家的 Facebook 流。使用 Twitter 很容易做到这一点。我如何使用 Facebook 做到这一点。我不想登录或任何应用程序 ID。我只想阅读特定用户的公共信息流,仅此而已。谢谢
2 回答
不幸的是,你不能了。尽管信息是“公开的”,但图形 API 去年夏天已更改为需要访问令牌才能做到这一点。
Graph API PROFILE_ID/feed 和 PROFILE_ID/posts 现在需要 access_token
如上周所述,页面、应用程序、用户或组的图形 API PROFILE_ID/feed/ 和页面或用户的 PROFILE_ID/posts 现在需要有效的 access_token 才能访问相应对象的墙或帖子(以前没有 access_token是必需的)。
https://developers.facebook.com/blog/post/510/
基本上,您现在需要创建一个 facebook 应用程序并获取一个 AppId。您实际上不必“登录”;因为您只需要公共数据,您只需要使用您的 AppId 请求有效的访问令牌。
请参阅此示例/博客(它是 PHP,但重要的是最后一个示例表明您只需要执行一个简单的 HTTP 请求即可获取令牌):http:
//illuminatikarate.com/blog/facebook-graph-api-requires -access-token-for-feed-access/。
看起来,Facebook API 的移动目标……再次移动了。你不能再这样做了。实际上,您甚至必须请求read_stream
许可才能读取公共数据。
您需要访问令牌才能获取 Facebook 用户提要,即使提要是公开的。
例如,让马克扎克伯格公开供稿: http: //www.facebook.com/zuck
现在,如果我们尝试使用图形 API 资源管理器查询它:http: //developers.facebook.com/tools/explorer/ ?method=GET&path=4%2Ffeed
或直接通过 Facebook 图表: https ://graph.facebook.com/zuck/feed
我们将得到:“请求此资源需要访问令牌。”
因此,您需要访问令牌中的 read_stream 权限。