2013-03-07 173 views
2

我敢肯定,至少有100000个iphone应用程序试图做我所需要的。通过Facebook SDK对iPhone本机应用程序的Facebook评论

我们的iPhone应用程序显示UIWebView中的网页(文章)。每篇文章的Facebook评论社交插件在桌面版本。在iPhone应用程序中,我想显示注释并允许用户使用本机访问令牌添加他自己的注释(意思是,不需要通过网络再次连接)。

为什么这个简单而基本的功能太复杂了?

在应用程序中,用户通过Facebook登录,因此我拥有访问令牌。我知道在移动版本中显示Social Plugin的选项,但在这种情况下,没有选择使用访问令牌。

另一种选择我走通过是使用Facebook的图形API,但在这种情况下,我不知道:

  1. 如何注释连接到网络上的相同文章的网址?
  2. 如何显示的注释不添加一个“基于网络的”意见

请帮助选项...

回答

3

您可以获取的评论的第一页是这样的:

NSDictionary *params = @[@"ids" : pageId]; 
    self.connection = 
     [FBRequestConnection 
     startWithGraphPath:@"comments" 
     parameters:params 
     HTTPMethod:@"GET" 
     completionHandler:^(FBRequestConnection *connection, id result, NSError *error) { 
      // ... 
     }]; 

其中pageId是包含社交插件的网页的URL。评论以JSON形式返回。这种反应包括获取下一个页面,您可以获取像这样一个URL:

FBRequest *fbRequest = [[FBRequest alloc] initWithSession:[FBSession activeSession] 
                graphPath:nil]; 
    FBRequestConnection *connection = [[FBRequestConnection alloc] init]; 
    [connection addRequest:fbRequest completionHandler:^(FBRequestConnection *connection, id result, NSError *error) { 
     // ... 
    }]; 

    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:moreCommentsURL]; 
    connection.urlRequest = request; 
    [connection start]; 

你必须建立自己的解决方案,用于显示这些评论。

+0

感谢您的快速回复。用用户访问令牌添加新评论怎么样?我怎样才能做到这一点? – 2013-03-07 16:29:47

+0

从理论上讲,这与使用参数字典“@ [@”message“:commentText]'发布到OBJECT_ID/comments端点(”graphPath“)一样简单,但是我最后一次遇到了一些问题,我不知道他们是否已经解决。 – 2013-03-07 18:13:05

+3

如何判断我想评论的网址的OBJECT_ID是什么? – 2013-03-08 08:51:25