如何在 UIWebView 中使用 Facebook 评论插件

Posted

技术标签:

【中文标题】如何在 UIWebView 中使用 Facebook 评论插件【英文标题】:How to use Facebook Comments Plugin in UIWebView 【发布时间】:2015-07-24 13:09:20 【问题描述】:

我想在我的应用程序UIWebView 中展示 Facebook cmets 插件。如果用户未登录,则有一个很大的“登录 Facebook 发表评论”按钮,可打开 UIWebView 内的登录页面并让用户登录。该应用程序被 Facebook 拒绝,原因是该应用程序没有尝试使用原生 Facebook 应用程序登录,而是想使用UIWebView 登录。如果用户未登录嵌入式UIWebview,则无法在UIWebView 中显示 Facebook cmets 插件。

所以我的问题是如果 Facebook 不允许用户使用嵌入式 UIWebview 登录,如何使用评论插件。

【问题讨论】:

请注意,在 ios 9 中,您将能够使用当前用户 cookie,因此如果用户已登录 safari,您将无需再次登录 【参考方案1】:

您必须实现本机登录行为,然后使用 Facebook iOS SDK 获取评论并将其显示在 UITableView 或您想要的任何内容中,

当您打开任何视图并且应该有评论时,检查用户是否已经使用 Facebook 登录,如果没有,则显示使用 Facebook 按钮登录(不是 UIWebView),用户登录后您可以发出图形请求以获取评论(如果用户已经登录,你可以直接这样做)

FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
                               initWithGraphpath:@"/object-id/comments"
                                      parameters:params
                                      HTTPMethod:@"GET"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,
                                      id result,
                                      NSError *error) 
    NSLog(@"Comments Result %@",result);
];

确保为此请求设置正确的对象 ID

更多关于 cmets 对象https://developers.facebook.com/docs/graph-api/reference/v2.4/object/comments

【讨论】:

我想使用 cmets 插件,因为除了显示之外,它还可以编辑或添加新的 cmets

以上是关于如何在 UIWebView 中使用 Facebook 评论插件的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Safari 应用程序在 UIWebView 中启动链接?

使用 AVPlayer 播放音频时如何在 UIWebView 中暂停音频

如何在 UIWebView 中打开文件?

如何在 UIWebView 中保存 .webarchive?

如何在 iOS 中使用 UIWebView 从 url 修改内容加载?

如何在 UIWebView 中打开 .csv 链接