Facebook Graph API does not return Page Events
This looks a kind of duplicate question but actually NOT.
So the problem is https://www.facebook.com/julytalk/ has events, for sure. But when I tried on Facebook Group API toolkit, it returns empty array.
https://developers.facebook.com/tools/explorer/145634995501895?method=GET&path=204859706228731%2Fevents&version=v2.12
Why is this happening? I could not find any Facebook API endpoint modification notice, at all. It was working okay before.
Please help me.
Solution 1:
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
Solution 2:
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:
-
User events
Documentation terminology: "Events on User"
API endpoint:
me/events
-
Page Events
Documentation terminology: "Events on Groups"
API endpoints:
me/groups
group_id/events
-
Group Events
Documentation terminology: "Events on Pages"
API endpoint:
me/accounts
page_id/events
-
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.
-
To query for page events "someone" needs to be a Facebook Marketing Partner. https://developers.facebook.com/support/bugs/352704275741601/
-
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.