Show public events from Facebook in a map - facebook

I'm implementing a webpage using the Facebook tools and PHP SDK.
I've created the Facebook login/logout. I also have the coordinates (latitude and longitude) of the user accessing the webpage/app. But then, I want is to show in a map all the public Facebook events near the user during today.
So, what I need is the code lines that, using the coordinates, get the near events. Where do I have to write this lines? I imagine that into the index.php creating an "if" condition (if user is logged, get the events and show them in the map).
And what if I want to show all the public events related to a fixed keyword? For example: plot in a map the events near the user that are related to the word "music".
Thanks a lot!

Related

Facebook Pixel Stats GET / Reading

I have a Facebook Pixel on my website that is tracking events. I saw on the Ads Manager dashboard, that the pixel logs my events in a categorized way, i.e.:
PageView, ViewContent, InitiateCheckout, etc.
Although when logging stats, I include some extra parameters like the product_id maybe or other things, that way when the PageView is being logged, at least I will know which product_id it refers to.
The problem is that the Facebook Ads Dashboard doesn't show any of the extra parameters, it only displays the Count field.
After doing some research, I found this link on Facebook Pixel Stats, where they claim:
Use the Facebook Pixel Stats edge to get pixel statistics.
I tried using the Graph API Explorer, and even the iOS FB SDK for it (API Here) they both return an empty data array:
{
"data": [
]
}
I tried multiple parameter combinations, fields, and everything else to no avail.
If anyone knows whether I'm looking at the wrong place, or what not, all I'm interested in is reading those "extra" parameters that I'm appending to every FB Pixel event I log. Thank you!
You need specifing the parameters for it.
Example:
{fb_pixel_id}/stats?aggregation=url
The answer is displayed for a specific period of time in the past - I would say 24 hours.
You can use paging at the bottom of the json response for going back in time: use the link provided in the content of the field 'previous', and you can step back day by day.

Query near public events via Facebook API v2.2

I want to retrieve a list of upcoming public events in my hometown from the Facebook Graph API.
I already know that FQL is deprecated and that I can query by keywords using a statement similar to
/v2.2/search?type=event&q=Berlin&since=2015-01-27
However, this list is not enough because there are lots of events which do not contain the City Name either in the event title, description or Location name.
On the other hand I can retrieve a list of places within the same City by using
/v2.2/search?type=place&since=2015-01-27&center=52.52,13.41&distance=10000
In my assumption I could retrieve a better event list if I create a query stating "give me all public events (eid) of all given places within this city in a specified distance".
Does anybody know if this is somehow possible to query?
I am unsure if batch processing is the right way to go, or if there is another possibility to Combine These two entities. My simple Approach would be to query each given Place again by requesting
/v2.2/{placeid}/events
but I also know that Facebook has a rate Limit of 50 requests in this case.
Right now Facebook doesn't have a way to do what you want or at least not documented.
The only way I think you could it is:
1- Find with the facebook API the pages in one city. (You can do do this manually or search for places near the city and then use the places that also ara pages)
2- Get the events of the pages (if exists) and save this in a db also with the location of the place/page.
3- Show all the events of the city.

Facebook Graph API Event Paging not working?

I am trying to access past event via Facebook's Graph API.
I am getting current events just right (the one I attended last month and the one in the future) with
https://graph.facebook.com/me/events?access_token=[ACCESS_TOKEN]
However, the paging components "previous" and "next" don't really work, "previous" actually points to a future event that's already been listed in "me/events". While "next" just returns an empty "data" struct.
I also tried "since" with different previous timestamps (such as "me/events?since=1304238280") and it didn't work, it will always return the events that are the same as the ones returned by "me/events". But I definitely have many more past events when I visit
https://www.facebook.com/events/past/
Am I not using the graph API correctly or what? I also noticed there are quite a few questions regarding Graph API's paging problem but there doesn't seem to be a definitive answer yet.
Any info/suggestion/reference would be greatly appreciated!
From what I've seen, it appears that about two weeks after an event ends, Facebook moves the event data out of the events table and into another one that isn't exposed via the API. The internal Facebook servers have access to this table, so you can see past events from within the Facebook webapp.
I'm assuming this is a privacy thing.
try to add the "before" query string with the ID of the first event ex:https://graph.facebook.com/me/events?&before=388551911259170.
you can refer to the following link: https://developers.facebook.com/docs/reference/api/pagination/

How does foursquare add a custom image annotation on their Open Graph map?

When foursquare works with Open Graph after a user has performed a checkin on their application (and assuming said user is linked to Facebook), foursquare posts to Open Graph a sample of this checkin data. What's interesting is that they do not have a standard map. Their map has a pin point on it in which an annotation embeds a custom image. It looks a little something like this:
I'm curious how this is done? I can get a regular map to show up with a pin point or a simple image view, but I can't get this custom annotation embedded within a map view.
From what I can tell, there is nothing in the documentation which shows how to further customize the Map layout or add any additional meta data to a GeoPoint object in order to get this additional functionality.
It's currently only in use by Foursquare - effectively it's a test right now.
There are plans to open it up more widely but there's nothing to announce right now - it'll be announced on the blog when opened up further - https://developers.facebook.com/blog/

How to programmatically create check-in place on Facebook?

How do you programmatically create a check-in place on Facebook? The graph API allows you to check-in on existing place (which is represented by a page. You pass coordinates and server returns an array with places with given accuracy and then you can select where to check-in). What I need is to be able to pass coordinates (long and lat) and either check-in if the page of place is exists or create new (I have all the information, ie. address, phone, id etc.).
Unfortunately you can't do it with current FB public API.
There is a bug report: http://bugs.developers.facebook.net/show_bug.cgi?id=13388
See also discussion on: http://forum.developers.facebook.net/viewtopic.php?id=82074
You may also try as workaround use webview showing touch.facebook.
You cannot create new places via the API, only check into existing places.