如何解决我的 facebook 应用程序无法接收网页 webhook
Webhook 仅在用户与页面聊天时发送,但当用户回复或发布时,我无法收到任何 Webhook。
我有“pages_manage_Metadata
”权限,并设置了我的代码以接收页面 webhook,如下所示:
app.post("/webhook",(req,res) => {
let body = req.body;
//const page_id=process.env.page_id;
// Checks if this is an event from a page subscription
if (body.object === "page") {
// Iterates over each entry - there may be multiple if batched
body.entry.forEach(function(entry) {
if (entry.messaging) {
// Gets the body of the webhook event
let webhookEvent = entry.messaging[0];
console.log(webhookEvent);
// Get the sender PSID
let senderPsid = webhookEvent.sender.id;
console.log("Sender PSID: " + senderPsid);
// Check if the event is a message or postback and
// pass the event to the appropriate handler function
if (webhookEvent.message) {
handleMessage(senderPsid,webhookEvent.message);
} else if (webhookEvent.postback) {
handlePostback(senderPsid,webhookEvent.postback);
}
} else if (entry.changes) {
let webhookEvent = entry.changes[0];
console.log("webhookEvent=",webhookEvent);
if (webhookEvent.field === "Feed") {
console.log("Feed");
let comment_id;
let comment = webhookEvent.value;
let comment_type = comment.item;
if (comment_type == "post") {
comment_id = comment.post_id;
console.log("detect post");
} else if (comment_type == "comment") {
comment_id = comment.comment_id;
console.log("detect comment");
} else if (comment_type == "status") {
comment_id = comment.post_id;
console.log("detect status");
}
console.log("comment_id: " + comment_id);
let message = comment.message;
console.log("message: " + message);
let user_id = comment.from.id;
console.log("user_id: " + user_id);
console.log(
"+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
);
send_private_reply(comment_id);
processComments(comment_id,comment_type,user_id,message);
}
}
});
// Returns a '200 OK' response to all requests
res.status(200).send("EVENT_RECEIVED");
} else if (body.object === "user") {
body.entry.forEach(function(entry) {
console.log(
"user event---------------------------------------------------"
);
console.log("Facebook request body:",body);
console.log("entry.changes=",entry.changes);
res.status(200).send("EVENT_RECEIVED");
});
} else {
// Returns a '404 Not Found' if event is not from a page subscription
console.log("enent not found$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$");
res.sendStatus(404);
}
});
更多信息:
-
点击仪表板中的“测试”按钮时,我可以收到网络钩子,如 https://developers.facebook.com/docs/graph-api/webhooks/getting-started#configure-webhooks-product
-
当我的应用程序处于开发模式时,我成功订阅了 https://developers.facebook.com/docs/graph-api/reference/page/subscribed_apps/
中记录的提要字段
那么如何解决这个问题?
谢谢
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。