使用评论插件时如何获得有人评论的通知

3

我在粉丝页面上有一个包含评论插件的iFrame应用程序。是否有一种方法让我或任何管理员在每次有人添加评论时收到通知或电子邮件?

1个回答

10
你可以订阅comment.create事件并以任何你喜欢的方式向管理员发送通知,一旦评论被创建。Facebook本身不提供这样的功能。
这可能看起来像这样(我假设Facebook JavaScript SDK已经在页面上加载完成,在文档中了解有关加载的信息,无论如何,如果你正在使用Social Comments插件,它应该已经被加载了):
<script type="text/javascript">
  FB.subscribe('comment.create', function(response){
    // Here you need to do a call to some service/script/application
    // to notify your administrator about new comment.
    // I'll use jQuery ajax to call server-side script to illustrate the flow 
    $.post('//hostnamne/path/to/script', {
      "action": "comment created",
      "url_of_page_comment_leaved_on": response.href,
      "id_of_comment_object": response.commentID
    });
  });
</script>

在位于 http(s?)://hostname/path/to/script 的脚本中,您可以向管理员发送通知,具体方法可能因您所需而异。例如,如果您想发送电子邮件,可以使用类似以下 PHP 示例的代码(尽管这只是一个流程示例,您不应该使用真实代码):

 <?
   $admin_email = 'root@localhost';

   $commentID = $_REQUEST['id_of_comment_object'];
   $page_href = $_REQUEST['url_of_page_comment_leaved_on'];
   $message = "comment #{$commentID} was leaved on page {$page_href}";

   mail($admin_email, "You have a new comment", $message);
 ?>

如果您需要跟踪评论的删除,您可以使用comment.remove事件,其流程类似...

我是新手,如何设置呢?谢谢你的帮助。 - Mark Nestor
@MarkNestor,看到我的更新答案了吗?顺便说一句,欢迎来到StackOverflow,希望你会喜欢。如果这个答案对你有帮助,请不要忘记通过勾选旁边的标记来“接受”答案。 - Juicy Scripter
请注意代码中有一个非常小的错别字。您使用单引号打开了字符串“'You have a new comment”并用双引号关闭它;实际上这不是个大问题,因为正如您所说,该代码只是一个流程示例。 - furins
@furins,下次看到它时,随时可以立即修复,这就是为什么有编辑功能的原因 ;) - Juicy Scripter
@JuicyScripter 是的,但只有作者可以更改单个字符。编辑的最小更改是6个字符...我不想添加垃圾 :) - furins

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接