iOS - 无需用户身份验证即可获取 Facebook 公共(public)页面帖子

标签 ios iphone facebook facebook-graph-api authentication

相关主题有很多问题,但所有问题都以复杂或没有解决方案结束。所以在这里我试图让事情变得更简单,这样我就能得到一个简单的答案。因此,如果您这么认为,请在将此问题标记为重复之前再三考虑。

假设,有一个公共(public)页面,例如“omgfactsonline”,其页面 id 为“237061956027”

通过点击以下网址,我们可以获得非常基本的帖子

https://www.facebook.com/feeds/page.php?id=237061956027&format=json

https://www.facebook.com/feeds/page.php?format=rss20&id=237061956027

正如我所说,结果 json/xml 仅包含基本数据(没有详细信息,例如计数、类型、评论计数),这是不够的。

在 Facebook Graph API Explorer 上,如果我使用一些示例 token 点击路径 @"/237061956027/posts",我就会得到所需的结果。

因此,对于 iOS 应用程序,根据 Facebook 开发者网站,获取正确帖子的方法是

/* make the API call */
[FBRequestConnection startWithGraphPath:@"/237061956027/posts"
                         parameters:nil
                         HTTPMethod:@"GET"
                  completionHandler:^(
                      FBRequestConnection *connection,
                      id result,
                      NSError *error
                  ) {
                      /* handle the result */
                  }];

但是这段代码的问题是,它需要一个访问 token ,在 iOS 应用程序中,只有在用户身份验证后才能获取该访问 token 。由于这是一个获取帖子的公共(public)页面,因此要求用户登录是没有意义的。

请建议我,如何才能达到预期的目标。

最佳答案

实际上,Sahil 是正确的,但有一种方法可以解决这个问题。在 GET 参数中传递访问 token 后,您可以使用 AppID 和 AppSecret 查看需要应用程序访问 ID 的页面。以下内容应该有效:

//create your params
NSDictionary *params = @{@"access_token" : @"<app_id>|<app_secret"};
/* make the API call */
[FBRequestConnection startWithGraphPath:@"/237061956027/posts"
                         parameters:nil
                         HTTPMethod:@"GET"
                  completionHandler:^(
                      FBRequestConnection *connection,
                      id result,
                      NSError *error
                  ) {
                      /* handle the result */
                  }];

来自 Facebook API https://developers.facebook.com/docs/facebook-login/access-tokens#apptokens

关于iOS - 无需用户身份验证即可获取 Facebook 公共(public)页面帖子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22728596/

相关文章:

ios - 无法在 AudioFileStreamOpen 的 AudioFileStream_PacketsProc 回调中使用 AudioConverterFillComplexBuffer 将 mp3 转换为 PCM

iphone - 自动化库构建

ASP.NET 中的 JavaScript 事件处理程序

java - 使用 servlet 登录 facebook 时出现 NullPointerException

android - 关闭 facebook 登录对话框 android

ios - Yammer 不使用最新版本的 AFNetworking

android - 由于 AndroidJavaObject,适用于 iOS 和 Android 的 Unity 插件导致 iOS 的 AOT 失败

iphone - 检查导航堆栈上的 ViewController 是否存在

ios - 如何只获得一个NSUUID?

CSS 媒体查询 iPhone 最大宽度