Facebook Messenger API: Trouble Setting Up A Webhook
Solution 1:
I came across a fix. I scrapped my js attempt and created a new php file with the following code:
<?php
$challenge = $_REQUEST['hub_challenge'];
$verify_token = $_REQUEST['hub_verify_token'];
if ($verify_token === 'my_token_code') {
echo $challenge;
}
I got this code from the first 10 minutes of this video: https://www.facebook.com/marketingdevelopers/videos/883648801749520/
Solution 2:
That code is node.js code and should be run on the server not in a <script>
tag in your HTML.
Here's a simple walk through of setting up the messenger bot with node.js: https://github.com/voronianski/simon-le-bottle
Essentially you need to make sure you have a host that supports node.js applications and run it as such. It will not work inside of HTML.
Solution 3:
Not sure if this help, but the query parameters that FB send are with underscore not dot e.g. :
- hub_verify_token
- hub_mode
- hub_challenge
P.S.
Sorry, this is valid for PHP
Solution 4:
If you're running this as a Node.js
application, and you're coming from the The Facebook Quickstart Guide mentioned in the question, you'll have to point the webhook URL to [your-server-root]/webhook
. Notice this part of the tutorial:
// Adds support for GET requests to our webhook
app.get('/webhook', (req, res) => {
...
// Responds with the challenge token from the request
res.status(200).send(challenge);
});
Solution 5:
@shane
webhook: function(req, res) {
if (req.query['hub.verify_token'] === 'tokentoken') {
res.send(req.query['hub.challenge']);
} else {
res.send('Error, wrong validation token');
}
}
Note sure what exactly you're doing. but this is what I did and it's working.
I've tested using ngrok server as I don't have a domain name and the callback URL is https://werwrwetwtw.ngrok.io/webhook
Hope this helps!
Post a Comment for "Facebook Messenger API: Trouble Setting Up A Webhook"