Facebook Graph API does not return Page Events

https://developers.facebook.com/blog/post/2018/04/04/facebook-api-platform-product-changes

Access to the Events API is not possible at the moment:

...apps currently accessing Events and Groups APIs will lose access today

Update: After Facebook did a lot of changes, it seems to be possible to get events again. You can get events from Pages you manage easily in dev mode. If you want to get public events, you may want to read the answer in this thread: Facebook pages API: "Page Public Content Access" review screencast


The above answer was misleading for me, not because its wrong but because so many things have changed on Facebook's side and I needed further clarification.

This is the current state based on my research (25.08.2020.).

There are several types of events available based on where the event destination is:

  1. User events

    Documentation terminology: "Events on User"

    API endpoint:

  • me/events
  1. Page Events

    Documentation terminology: "Events on Groups"

    API endpoints:

  • me/groups
  • group_id/events
  1. Group Events

    Documentation terminology: "Events on Pages"

    API endpoint:

  • me/accounts
  • page_id/events
  1. App Events

    Documentation terminology: "Events on an App"

    API endpoint:

  • {application-id}/events

About app events.

The list is taken mostly from Facebooks API event endpoint.

The documentation is wrong on event limitations:

Access to Events on Users and Pages is only available to Facebook Marketing Partners.

The current state is that "Access to Events on Users and Pages is available to": A) App Admins (verified with testing) B) App Developers (verified with testing) C) App Testers (not verified) D) Facebook Marketing Partners (not verified)

What does this mean?

This means if your query the "me/accounts" endpoint which will give you a list of page ids. When you select a page id and then query "your_selected_page_id/events" you will receive:

  • An empty list if you are not A-D)
  • A list of events which is not the same as your users.
  • A lot of confusion and frustration because there is no error message thrown.

I have tested this with different API versions 4.0 - 8.0 and the results were the same. I have also tested this with a different but similar set of permissions, resulting in the same empty array response.

SOLUTION(S):

TODO: UPDATE: Clarify who needs to become FMP.

  1. To query for page events "someone" needs to be a Facebook Marketing Partner. https://developers.facebook.com/support/bugs/352704275741601/

  2. Invite your users to become testers.

Helpful links:

Read more on Facebook Marketing Partners.

Officially on Facebook Marketing Partners.

Facebook Graph Explorer.

Facebook Batch Requests.

Additional notes:

  • Page event fetching has the same requirements as user events fetching.
  • Group event fetching works for all users (ignores A-D).
  • Creating batch requests with no FMP will result in response sections that only have empty arrays.