有很多关于相关主题的问题,但所有问题都以复杂或没有解决方案结束。所以在这里我试图让事情变得更简单,以便我能得到一个简单的答案。因此,如果您这么认为,请在将此问题标记为重复之前再三考虑。
假设,有一个公共(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 应用程序中,只有在用户身份验证后才能获得。由于这是获取帖子的一般公共(public)页面,因此要求用户登录是没有意义的。
请建议我,如何才能达到预期的目标。
Best Answer-推荐答案 strong>
实际上,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/
|