当用户在Facebook上添加评论时发送电子邮件评论框
问题描述:
前一段时间,我在我的网站上添加了Facebook评论框。我现在想要的是在某人添加评论时触发一些代码“php()in php”。我希望我的网站向用户发送一封电子邮件,告诉他/她访客对您的商品/页面发表了评论。当用户在Facebook上添加评论时发送电子邮件评论框
这与我创建的旧评论部分很容易做到,但我现在不知道如何用FB做到这一点。它甚至有可能吗?
如果是,请包括一个详细的答案,如果你不介意,因为我在这个:)
答
如果您对解决方案FB已经提供的解决方案不满意(如scjosh解释过的),您可以使用Facebook的Javascript SDK中的一些ajax(jquery将是我最喜欢的)来加载带有mail()函数的脚本。
首先加载JS SDK(确保你改变 'YOUR_APP_ID' 和channelURL !!):约JS SDK,加载和频道文件可以found here
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
FB.init({
appId : 'YOUR_APP_ID', // App ID
channelURL : '//WWW.YOUR_DOMAIN.COM/channel.html', // Channel File
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
oauth : true, // enable OAuth 2.0
xfbml : true // parse XFBML
});
// Additional initialization code here
};
// Load the SDK Asynchronously
(function(d){
var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
d.getElementsByTagName('head')[0].appendChild(js);
}(document));
</script>
更多信息。出于这个原因,你应该有一个应用程序或在Facebook上创建一个应用程序。有关设置应用程序的信息is here。
下一步是每jQuery的邮件()加载脚本:
FB.Event.subscribe('edge.create',
function(response) {
$(document).load('mail.php?response='+response);
}
);
最后的mail.php:
if(isset($_GET['response'])) {
$msg = 'A comment was left on '.$_GET['response'];
mail('[email protected]','New comment',$msg);
}
希望帮助!
答
如果我理解正确的话,Facebook的已经包括通过自己的网站集成的电子邮件通讯我并不好。 I.E.,如果Facebook用户的评论线程已启用通知,则会根据请求发送电子邮件给该用户。唯一可行的方法是将您自己的评论框拼凑在一起,并将其与Facebook API挂钩。
@ danontheline非常感谢。它在很少的问题下工作。我会继续修复它,并回到你的家伙。我发现这也解释了如何做到这一点 http://forum.developers.facebook.net/viewtopic.php?id=74644 –
我正在写这个供将来使用。这个解决方案,在底部链接,工作得很好,这很容易 http://forum.developers.facebook.net/viewtopic.php?id=74644 –
FB.Event.subscribe('edge.create' )代码去?在window.fbAsyncInit = function(){}函数内还是之后?上述评论中的链接不起作用。如果有人可以发布一个完整的工作解决方案,那将是惊人的 – LTech