Facebook iOS SDK图表Api公共页面Feed

时间:2014-12-19 03:52:32

标签: ios facebook facebook-graph-api sdk public

有人能指出我关于如何获取公共页面帖子的全面教程吗?我想真正理解发生了什么,而不是复制和粘贴。即便如此,我还没有发现任何我可以复制和粘贴的东西。我已经设法使用以下代码取得了一些进展,但结果json并不漂亮,并且几乎不可能提取图像网址(它不需要appId,我实际上已经进入了plist) 。我宁愿使用FBRequestConnection。它看起来并不太具挑战性,但我对sdk并不熟悉,而且这方面的文档似乎有点缺乏。

NSString *pageId = @"##################";
NSString *urlString = [NSString stringWithFormat:@"https://www.facebook.com/feeds/page.php?format=json&id=%@", pageId];
NSURL *url = [NSURL URLWithString:urlString];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
self.tags = [[NSArray alloc] initWithObjects:@"#meditation", nil];

[NSURLConnection sendAsynchronousRequest:request
                                   queue:[NSOperationQueue mainQueue]
                       completionHandler:^(NSURLResponse *response,
                                           NSData *data, NSError *connectionError)
 {
     QuoteItem *menuItem = [[QuoteItem alloc] init];
     if (data.length > 0 && connectionError == nil)
     {
         NSDictionary *fbFeed = [NSJSONSerialization JSONObjectWithData:data
                                                                   options:0
                                                                     error:NULL];

         NSMutableArray *entries = [fbFeed objectForKey:@"entries"];

我试图保持简短,但为了进一步说明我已尝试使用facebook提供的指令(https://developers.facebook.com/docs/graph-api/reference/v2.2/page/feed#read)执行以下操作:

[FBRequestConnection startWithGraphPath:@"/###########9055/feed"
                             parameters:nil
                             HTTPMethod:@"GET"
                      completionHandler:^(
                                          FBRequestConnection *connection,
                                          id result,
                                          NSError *error
                                          ) {
                          /* handle the result

                      }];

我收到此运行时错误:" FBSDKLog:对端点请求的错误' / 164313873599055 / feed':必须为对此端点的调用指定一个打开的FBSession。"所以我查找了FBSession(在前面提到的链接的目的地没有提到)并试图纠正这种情况,但我不确定如何设置权限。我尝试了什么导致用户提示允许访问他们的Feed,这是不需要的。我只是希望用户无需登录就能看到这个糟糕的公共页面提要,而不会在应用程序中看到任何与Facebook相关的内容。

这就是为什么我正在寻找一个完整的教程,让一个人在一个地方通过上述步骤。我知道,这些教程确实存在于iOS开发的其他方面,我想知道这个案例是否有类似的东西而不必写一篇文章。

1 个答案:

答案 0 :(得分:0)

我怀疑你是否看过Facebook文档,因为它已全部概述:

电话是

/{page_id}/feed

其中{page_id}是您要查找的网页的ID。您需要在呼叫中添加访问令牌。