FB评论插件给出500错误。 FB.Event.Subscribe(“comment.create”,回调)被触发,但没有成功返回而是抛出500错误。但是,这只发生在第一条评论。帖子仍然通过并在页面重新加载时显示为注释。
但是,在同一篇文章中,当回复发布的评论时,它会在没有任何错误的情况下触发事件。
我正在使用facebook评论插件,我的设置是我通过从数据库获取数据创建动态网址,然后根据前端创建网址。我在前端使用淘汰赛,后端使用烧瓶。我的目标是利用FB评论插件作为每个帖子的线程评论。当有人通过查看帖子的ID评论帖子时,我会触发推送通知。
//HTML
<div data-bind="text:$data.location,
click:window.animateMarkerOnClick.bind($data), attr: { id:
$data.key,class:'search-list' }"></div>
<div id="listing-msg" >
</div>
<div class="fb-comments" data-bind='attr:{"href":
"http://localhost:8080/postit/get_share_listings/#" +
$data.key,"id":$data.key}' data-width="320" data-numposts="1" data-
colorscheme = "dark" notify = "true" data-order-by = "reverse_time"></div>
//JS EVENT SUBSCRIPTION
window.fbAsyncInit = function() {
FB.init({
appId : 'xxxxxxx',
autoLogAppEvents : true,
xfbml : true,
version : 'v3.2'
});
FB.Event.subscribe("comment.create", push)
};
(function(d, s, id){
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = "https://connect.facebook.net/en_US/sdk.js";
fjs.parentNode.insertBefore(js, fjs);
}(document,'script','facebook-jssdk'));
//callback
function push(){
$.ajax({
type: "POST",
url: "http://localhost:8080/postit/push",
contentType: 'application/json;charset=UTF-8',
data:JSON.stringify({"data":document.activeElement.
parentElement.parentElement.parentElement.children[0].id})
})
}
如前所述,事件触发回调,但在第一条评论facebook触发url处理程序createComment,它给出500但createReply成功触发回调。
JS SDK中不再存在comment.create
事件。
https://developers.facebook.com/docs/reference/javascript/FB.Event.subscribe/v3.2不再提及它,当你点击event
旁边的向下箭头时,https://developers.facebook.com/support/bugs/927463134113943/?comment_id=930637043796552确认它已经消失:“comment.create正式被杀死。”
您现在需要使用服务器端webhook,如果您希望应用程序收到有关通过评论插件发表的新评论的通知,请参阅https://developers.facebook.com/docs/graph-api/webhooks/reference/application/#plugin_comment