I have created a webhook to receive feed updates. I want to be notified when a post is liked or commented on or shared. I have set the endpoints up in a script on my server, i have also set up the webhook in the developers console. When i send a test event from the dev console in the webhook section my endpoint receives and processes it fine. When i set my app to live, nothing seems to be sent to the webhook from my page when i like or comment or post. I have followed all the instructions exactly. I have subscribed my page to the app and checked that it is subscribed, and also i have set my app to live. Yet there are still no webhook events received... Any one got any idea what im missing??
you have to get this permission pages_manage_metadata to get the feed activity on your webhook
Related
I have created a simple FB webhook app and have subscribed to trigger on feed activity. I successfully added and tested the user subscription, and clicking the webhook test button test works perfectly.
I have fulfilled all requirements and it is now live, but it does not work on my live FB feed.
I saw a post saying that I needed to obtain "pages_manage_metadata" and "pages_show_list" permissions, and I have been approved for that, but it still won't work despite being in live mode.
What am I missing?
I've been trying to setup a subscription to a page I own on Facebook using an App I've been using for many years (and this used to work for subscriptions to another Page).
Webhooks are setup, and a subscription has been created for 'conversations' to post back to a url on our server. When I test this through the webhooks page I can see the request come through on the server.
The only step that seemed to be missing was subscribing the page to the app itself.
However, I have now done this by issuing a POST request through the Graph Explorer directly to [page_id]/subscribed_apps. This returns true. When doing this however it requires a Page Access Token and gives me the Facebook authorization popup with a message saying:
"Submit for Login Review - Some of the permissions below have not been approved for use by Facebook."
I've worked out it means the 'manage_pages' permission.
If I click "OK" it goes through (presumably because the user I am authorizing as is a page admin?).
When I do a GET request to the same endpoint ([page_id]/subscribed_apps) I can see my App listed.
However, when a conversation on the page is updated (comment or new post) I don't receive a notification on the server.
Could this be because the permission isn't approved by Facebook, despite the fact that it shows as a subscribed App? I definitely didn't have to go through this before as the same App is live listening on notifications from another page without that permission granted, but I'm questioning whether something has since changed in the API.
Unfortunately this project goes live tomorrow so I don't have time to go through the Facebook review process...
Thanks for your help!
EDIT: I just attempted to subscribe to the description and/or mission fields on the page and edited these as the page owner and the notification came through instantly via the same webhooks subscription... which makes this even more confusing as it only seems to be failing for "conversations" eg: new posts/comments.
I have set up a webhook callback here(https://glitch.com/edit/#!/nego-graph-api-webhook) and I also subscribe to conversations field on webhook page.
also, I have tested it with the Test button, I can see the response in my console. However, when I send a new message to my page, the webhook is not called?
May I know which part I'm missing out?
I try to setup a webhook for the facebook messenger api and try to forward to my localhost node.js server via ngrok. The GET request from facebook for checking the server ist working perfect. But when I send a message to my site via the messenger I dont get any response to my webhook. It works ok when I curl the ngrok address. Any suggestions ?
Thanks
I was having similar issue -
My current (semi-working) workaround is to unsubscribe my test page from the Facebook app configuration page (in the app settings page -> Messenger in the left panel -> Webhooks section), and then re-subscribe my test Facebook page. I will immediately receive Http POST message after I type something to my test page in the messenger.
Of course that can only help testing. It doesn't help in the production environment.
As long as the Facebook app you are using for the Messenger integration is in an unpublished state, i.e has not undergone a review process, only messages by admins, developers and testers are relayed through the webhook.
Check if the user you are using has the correct permission on the app.
On some occasions Facebook also stops forwarding messages, e.g if your webhook endpoint is returning errors repeatedly. Check your alert dashboard in the developers.facebook.com platform.
The solution is to unsubscribe and then subscribe a page again.
Further hints:
Depending on the framework you are using on the receiving end it might reject messages with an x-forwarded-for header in the request (Symfony 2 in my case).
Use the -host-header=rewrite option with ngrok to rewrite the request header if you run into issues like that.
I am fairly new to fb app development and I am trying to get real time updates from my page via app using subscriptions. So I created a subscription first which works fine and I got success, it calls my localserver for the verification.
and when I see subscriptions on app it shows the following output which I guess is correct.
Now this app is added on my fb page so once I go to tab my POST request is called,
Since I have subscribed to feed,name which means any new post or change in page name will trigger a POST request to my callback_url whcih is not happening, please let me know what I am doing wrong.
UPDATE:
just an update my callback url is now hit by facebook but I am not getting any useful object in JSON
JSON:{"bufferSize":8192,"contentWritten":0,"status":200,"committed":false,"outputStream":{},"locale":"en_US","finished":false,"headerNames":[],"characterEncoding":"ISO-8859-1"}