Facebook Graph API SEO 评论和脏话过滤器

标签 facebook facebook-graph-api comments facebook-social-plugins

我正在尝试以一种方式整合留在我们网站上的 Facebook 评论,以便搜索引擎和未启用 Javascript 的人(尽管我非常怀疑会有很多人)抓取内容在他们的浏览器上。

目前我们的 Facebook 评论是通过使用 Facebook 评论社交插件(使用 <fb:comments href="MY_URL" num_posts="50" width="665"></fb:comments> 标签)显示的。这最终会呈现一个 iFrame(搜索引擎爬虫大多会忽略它),因此计划是呈现此信息并使用基本 HTML 对其进行格式化。为此,使用 Graph API 提取评论 - 然后仅将其显示给爬虫和禁用 Javascript 的人。

使用 Graph API 调用 ( https://graph.facebook.com/comments/?ids=MY_URL ),解析 JSON 结果并将其显示在页面上,一切都很好。问题是 <fb:comments>方法根据我们在我们的一个 Facebook 应用程序上设置的黑名单过滤我们的结果。具有相关黑名单的 AppId 使用元数据 ( <meta property="fb:app_id" content="APP_ID"/> ) 存储在页面上,其中 <fb:comments>控件显然必须以某种方式用于过滤评论。

问题是 Graph API 方法不过滤任何结果,因为我猜没有指定黑名单(或包含黑名单的 App Id)。有谁知道如何为 API 调用 URL 指定 Facebook 应用程序 ID 或以其他方式不取回违反黑名单条款的评论?

顺便说一句,我知道关于过滤评论内容的争论很激烈,但实现黑名单是管理层的决定,我无法影响改变 - 以防万一有人觉得有必要解释原因为什么内容过滤是或不是一个好主意!

有什么解决方案吗?

最佳答案

遗憾的是,无法使用 API 访问经过过滤的评论列表 - 在 API 中包含此内容可能是一个合理的请求 - 您应该在 Facebook's bug tracker 中提交愿望 list 项目

否则,我能想到的唯一解决方案是在从 API 检索和显示评论时在您这边实现自己的过滤器。

根据Comments plugin documentation Facebook 端的过滤器是作为简单的子字符串匹配实现的,因此实现起来应该很简单。 一个相当简单的正则表达式匹配应该能够根据相对较长的列表快速检查每个评论。

(不幸的是,这里的权衡是实现过滤器很容易,但您还需要编写一个接口(interface),以便更新不允许的单词列表的任何人都可以维护 Facebook 插件和您自己的过滤器的列表.)

引用自文档:

The comment is checked via substring matching. This means if you blacklist the word 'at', if the comment contains the sequence 'a' 't' anywhere it will be marked with limited visibility; e.g. if the comment contained the words 'bat', 'hat', 'attend', etc it would be caught.

关于Facebook Graph API SEO 评论和脏话过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7848613/

相关文章:

python - 使用图形 API 编写代码

javascript - Facebook Pixel 将页面加载时间减慢了近一整秒

facebook-graph-api - [Facebook 图谱 API] : How to get test user access token with specific scope

ios - 感叹号在iOS注释中的重要性

android - 将最新的 facebook 4.0.1 sdk 导入 eclipse 以作为 facebook 功能登录时出错

facebook - 获取 Facebook 个人资料图片相册

facebook - 如何以编程方式将自定义选项卡添加到 Facebook 应用程序配置文件页面?

android - Opencv 代码 - 有人能帮我理解代码在做什么吗

ruby-on-rails - 在 Ruby on Rails 上创建我自己的评论/问答系统,还是只使用 Disqus 或 Intense Debate?

python - 抓取时如何处理 'endless'网页