当有人使用评论插件发表评论时收到通知

Posted

技术标签:

【中文标题】当有人使用评论插件发表评论时收到通知【英文标题】:getting notification when someone comments using comments plugin 【发布时间】:2012-01-25 12:20:53 【问题描述】:

所以我在粉丝页面上有一个iFrame 应用程序,其中包括 cmets 插件。每次有人添加评论时,我/任何管理员是否可以收到通知或电子邮件?

【问题讨论】:

【参考方案1】:

创建评论后,您可以通过subscribe 到comment.create 事件并以您喜欢的任何方式将通知发送给管理员。 Facebook 本身不提供此类功能。

这可能看起来像这样(我假设在执行此操作之前已经在页面上加载了 Facebook javascript SDK,请在加载时在 documentation 中阅读它,无论如何,如果您使用的是社交评论插件,它应该已经加载):

<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?)://hostnamne/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);
 ?>

如果您也需要跟踪 cmets 的删除,您可以使用具有类似流程的 comment.remove 事件...

【讨论】:

我是这方面的新手。我该如何设置呢?感谢您的帮助。 @MarkNestor,请参阅我的更新答案。顺便说一句,欢迎来到 ***,我希望你会喜欢它。如果它对您有帮助,请不要忘记通过勾选它旁边的标记来“接受”它。 非常感谢您的帮助。 请注意代码中有一个很小的错字。您用单引号打开字符串 'You have a new comment" 并用双引号关闭它;事实上,这不是什么大问题,因为正如您所说,代码只是一个流程示例。 @furins,下次你看到它时,请立即修复它,这就是编辑在这里的原因;)

以上是关于当有人使用评论插件发表评论时收到通知的主要内容,如果未能解决你的问题,请参考以下文章

Facebook 评论插件 - 每个页面都有相同的评论

客户发表评论时如何订阅 facebook webhook 事件

JS 特效求助 CSDN 发表评论 特效如何做?

asp 评论注入

使用Ajax在PHP中发表评论

bbs 第六天 评论 (评论列表展示发表评论)