Did Facebook Graph API completely block fetching event data? - facebook

Before the latest updates which were made due to the Cambridge Analytica problem, I was able to get data for a facebook event (name, date, description, cover photo link, etc...) just by passing the event id to the graph API, now it's not working.
FacebookApiException: {"error":{"message":"Unsupported get request. Object with ID '**event-id**' does not exist, cannot be loaded due to missing permissions, or does not support this operation. Please read the Graph API documentation at https://developers.facebook.com/docs/graph-api","type":"GraphMethodException","code":100,"error_subcode":33,"fbtrace_id":"DzBRa9cQ385"}}
Did they completely block the ability to fetch event data, or is it still available in a different way and I can't seem to know what is it?

Yes, events API endpoints were deprecated in recent changes, see https://developers.facebook.com/blog/post/2018/04/04/facebook-api-platform-product-changes/

Related

Facebook Graph Api Get Event By Id

I am trying to receive an event from the Facebook Graph Api By Id with following request:
https://graph.facebook.com/{eventid}?access_token={app_accesstoken}
I am using an app-accesstoken. The Event is a public event and according to the Graph Api docs I should be able to receive public events with any access token: https://developers.facebook.com/docs/graph-api/reference/event/
Nevertheless I receive following error-response:
Unsupported get request. Object with ID '{eventid}' does not exist, cannot be loaded due to missing permissions, or does not support this operation. Please read the Graph API documentation at https://developers.facebook.com/docs/graph-api
I have tried with multiple events with the same results
In April 2018, following the Cambridge Analytics scandal, Facebook decided to greatly reduce the information available through Facebook API.
In particular regarding Events API, here the official statement.
Events API: Until today, people could grant an app permission to get information about events they host or attend, including private
events. This made it easy to add Facebook Events to calendar,
ticketing or other apps. But Facebook Events have information about
other people’s attendance as well as posts on the event wall, so it’s
important that we ensure apps use their access appropriately. Starting
today, apps using the API will no longer be able to access the guest
list or posts on the event wall. And in the future, only apps we
approve that agree to strict requirements will be allowed to use the
Events API.
After that change you will not be able to get events of Facebook Pages, using the Facebook API like in the old days.
You could be able to get the data of a page you own if you have user_event permission (https://developers.facebook.com/docs/graph-api/reference/user/events/) but your app need to pass the App Review process.
Source: https://newsroom.fb.com/news/2018/04/restricting-data-access/

Facebook Graph API user data

I'm aware of Facebook Graph API Breaking Changes
However, I didn't find anything there about removing the option to get user data by id, for example
https://graph.facebook.com/v2.10/100025807687946?fields=picture{url},id,name&access_token={user_token}
When I try this I get error type GraphMethodException
Was that also removed? I couldn't find any mention of this in the breaking changes article
Thanks

Why Facebook Graph API doesn't list all public events for a page?

There're lots of events for this venue:
https://www.facebook.com/pg/ClubRoxyPrague/events/
However when requesting with Graph API we only get a few. Here's link to Graph API explorer:
https://developers.facebook.com/tools/explorer?method=GET&path=ClubRoxyPrague%2Fevents&version=v2.12
Until recently this worked well for us. Maybe it's data access restrictions Facebook announced few days ago: https://newsroom.fb.com/news/2018/04/restricting-data-access/
Why the API returns only some events? Is there any way to fetch all public events hosted by a certain page?
Due to the breaking data access changes you mentioned, it already wasn't possible to access events directly (also see: Unsupported get request in get Facebook event).
It seems like your specific issue is a logical consequence of that decision (although the /{page-id}/events was still available up to today, I personally already found it pretty strange that events were still accessible indirectly).

Does facebook have the data about when a user adds a reaction to a post?

I am trying to collect data about a post on facebook from its graph api. I am able to get all the other information (like comments, when the comment was created, who created it, etc etc) but i am not able to find the timestamp on the reactions. That is i want find out at what time (and date) did the user add the reaction. Does facebook have this information? If yes, then how do i get that information using graph api?
Does facebook have this information?
Most likely they do.
If yes, then how do i get that information using graph api?
You don’t, because they do not provide that information via API.
For a page you manage you could set up a webhook for the feed endpoint; that will get you updates for everything that happens on the feed - new posts, new comments, new reactions ... You’d have to filter out the reactions on your end, and then you could record them in your database with a timestamp that should be close enough. (That will only work for new reactions though, and not already existing ones.)
Yes , you can get details of comment by:
https://graph.facebook.com/{page-id}/{post-id}/reactions?access_token={page_token}

Using the Facebook Graph API why is it possible to read a list of videos posted to an event but not a list of photos?

As far as I can make out from reading the Facebook Graph API documentation for Events -
http://developers.facebook.com/docs/reference/api/event/
...it is possible to get a list (array) of videos that have been added to an event but NOT a list of photos. Why am I not able to get photos belonging to an event? Am I missing something here?
thanks
It's because the current implementation of the Graph API does not have the connection from Page Event to photos. The only "image" connection is the picture connection. This is probably because they haven't got around to expanding their API to handle all cases. The videoes connection is definitely out of the ordinary. It may have been placed in there early on in the development of the Graph API to hand one specific facebook partner's needs.
I can get a list of Photos by issuing a /{eventid}/photos request for an event that was created by my app, some event graph api calls are dependent on the fact that your app created the event. i.e. you can't edit an event that wasn't created with your app. I think for the photos request, you need read_stream, user_events, and maybe friend_events permission..