1

背景:

有一个公开的 Facebook 业务页面,我可以在我的网络浏览器中查看整个页面和 Facebook 新闻提要,而无需实际登录我的 Facebook 帐户。所以没有会话或身份验证信息可以在我的浏览器中显示此网页。

我想要的是:

现在,我想在我的原生 iPhone 应用程序中将这个 Facebook 业务页面的 Facebook 新闻提要显示为滚动 UITableView。我该怎么做呢?

问题:

当我访问 Graph API 资源管理器 ( https://developers.facebook.com/tools/explorer ) 时,我可以看到与 Facebook 业务页面(即百事可乐)相关的相册和照片,但如果我尝试访问新闻提要,就像这样...... https://graph.facebook.com/Pepsi/feed ...它返回一个错误,指出“请求此资源需要访问令牌。”

我的问题:

如果 Pepsi Facebook 新闻源无需从网络浏览器登录到我的 Facebook 帐户即可公开查看,那么如何在没有访问令牌的本地 iPhone 应用程序中显示 Pepsi Facebook 新闻源?

谢谢

4

1 回答 1

4

引入令牌过期后,我遇到了同样的问题。但随后出现了 RSS 提要的想法。

访问https://developers.facebook.com/tools/explorer

将获取字段中的 ID 替换为您的页面名称。因此获取字段链接应如下所示:

https://graph.facebook.com/Pepsi

提交它,作为回报,您将在下面的显示中获得一堆 json。您将需要 id 的第一个信息。这是百事可乐页面的 56381779049。

现在将 id 放在下面的链接中以获取您想要的提要。

https://www.facebook.com/feeds/page.php?id={Id we just got}&format={json|rss20}

所以我们的 json feed 的 Pepsi 页面看起来像:

http://www.facebook.com/feeds/page.php?id=56381779049&format=json

现在你只需要在任何地方解析和查看。

您可以对带有链接的 twitter 提要进行类似操作:

http://api.twitter.com/1/statuses/user_timeline.json?screen_name=anontech&include_rts=0

转发的rts。

更新:从设备获取数据时遇到一些问题。经过这个小改动后,它在 android 和 iOS 上都能完美运行。解决方法:将接受标头更改为*/*或 application/json,因为 facebook 将响应标头作为 application/json 发送。

标头:'接受:应用程序/json';

详细信息来自:cURL 和 Facebook 问题

于 2012-07-09T02:54:59.267 回答