FB注释插件给出500错误。触发FB.Event.Subscribe(“ comment.create',callback),但未成功返回,而是引发500错误。但是,此操作仅在第一个评论中发生。该帖子仍会通过并在重新加载页面时显示为评论。
但是,在同一则帖子上,当回复已发布的评论时,它会触发事件而没有任何错误。
我正在使用facebook comment插件,我的设置是我通过从数据库获取数据来创建动态url,然后在前端基于该URL创建url。我在前端使用剔除,在后端使用flask。我们的目标是利用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);
}(文档,“脚本”,“ 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})
})
}
如前所述,该事件触发回调,但是在第一个评论上 触发网址处理程序createComment,它给出500,但createReply成功触发了回调。
答案 0 :(得分:1)
comment.create
事件在JS SDK中不再存在。
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被正式杀死。 。”
您现在需要使用服务器端的webhooks,如果您希望您的应用通过评论插件收到有关新评论的通知,请参阅https://developers.facebook.com/docs/graph-api/webhooks/reference/application/#plugin_comment