On some of projects, that i was actively developing, i was required to catch some updates like friends add/delete or events RSVP as fast as possible from Facebook. Digging into Facebook documentation gave me Webhooks documentation.
Webhooks is pretty straightforward concept:
- You setup a back URI on service
- Whenever something happens that URI is acessed with some data
First thing, that you should remember: Facebook Documentation, at least about Webhooks (also for setting RSVP, but that is another story to tell), is actually bad.
If you want to catch info about friends updates nor events RSVP updates you should subscribe to
User topic, like in docs, and then to
Whenever you did everything right, and start to catch some updates, you probably will notice, that updates are coming only from admins, not from testers nor simple users, who installed (login with facebook) an app.
What the problem is actually is? The Problem is in permissions, what you will never find in documentation, you should request permissions for
user_events to get updates for User RSVP for Events and also
user_friends for friends updates.
After that, you will probably notice, that everything is working fine. Unless, you accidentialy find out, that for RSVP updates facebook sends
verb == accept both for interesting and will go RSVPs.
There are some variants to get around that limitation, whenever you get
verb == accept, you should validate user relation with another API calls. Yes, calls. One way, to actually fetch all RSVPs of users to event, but that can be huge amount of requests so it can be actually slow nor you will fall into API requests limit.
Another workaround could be found here, is to use special also undocumented endpoints on Facebook Graph API:
Hope it helps.