I am trying to develop a Facebook app, and the internet has been tossing me around with mixed questions and answers about the ability to access the user's friends' location or hometown. after API 2.0, I understand that my app will only access the information of the friends who have used the app themselves. But after playing with Graph API explorer I got very limited info about the friends.
I just need one simple answer so I can stop looking and move on. Is there a way for my app to get the friends' location if they have used the app before? or that's not possible.
Related
Past & Now
A few years back, Facebook supports FQL in v2.0 to retrieve online friends of an user ( Facebook : Get List of Online Friends Using Graph api )
However this FQL is removed from v2.3, and what's worse is Facebook completely removed Chat API (XMPP) from April 2015.
Goal
Is it still possible to generate a list of Facebook friends and their last active time / currently online using Graph API / or any other method? (basically the same as chat window on Facebook desktop)
This would be useful:
when a user wants to see who's online but don't want to let their friends know they're online atm
or for a simple widget on phone screen, where user can have a quick look at who're online without the need of Facebook login (the widget gets data from 3rd party server which uses API / or some other method to provide that list)
Thanks alot for your input
No, it is not possible - because as you found out already, Facebook removed the required permission/endpoint. The only way would be implement your own routine for this. For example, by storing the timestamp of visiting users. Whenever a friend of that user visits your App too, you can show those to him. Of course it only works for users who authorized your App and youi can only detect if users are online/active in YOUR App, not on Facebook.
I'm trying to fetch the endpoint /me/home from the Facebook graph API v2.1.
Using the Graph API Explorer tool, I get good results that look like what the facebook mobile app displays. But when I switch to my app and simulate the exact same call with the exact same permissions, the results are different and include a lot of non relevant posts (such as "ARandomFriend liked a link").
The only difference beetween the two calls is the access token (same scope, same permissions, same user). My guess is that facebook voluntarily returns a less relevant feed to third party apps so that people can't build apps that can compete with them.
But maybe I'm wrong, does anyone know something about this ?
This is similar to
Some posts not visible on the feed through Graph API /me/home
and
Facebook SDK for .NET and Graph API Explorer news feed mismatch
The reason is Facebook "scores" nodes to derive the most "Top Story". Low scoring nodes are by default not visible. You can force all nodes with
/me/home.filter(owner)<some_filters like fields requests>
There is no documentation on WHY this actually works, but it does. You can also force all nodes that are Likes or Comments by doing the following
me/posts?fields=likes.filter(stream),comments.filter(stream)
I would like to build a project to know users' behavior when they surf facebook website, especially the advertisements showing in their timeline wall. I have learned the basic idea of facebook graph api, knowing how to access the users' information and their feeds. However, I found that the feeds returned by facebook graph api is not "exactly" what user really see when they open facebook url in their browser. First, in graph api, it doesn't show the advertisements posted by sponsors. Second, the feeds returned by facebook api seem only regarding to my own posts(e.g. the photo tagging me, the posts tagging me). So, I would like to know how to access these information to rebuild a testbed that looks like exactly same as the real facebook website to record people reaction to it and continue my research?
Any idea is welcome ^^
This isn't really possible or rather I don't know any API (Facebook/Twitter/etc) that would do this to their third-party developers. The point of the API is to pull user data, not ads.
Also it sounds like you are using /me/posts or/me/feed instead of /me/home
How can I get a list of all the people that are using my Facebook app at this moment?
Is that even possible?
I need it in order to compare with user's friends, so the users would know if one of their friends playing the game right now...
You would need to store and surface this information in your own system. There is no Facebook API or method that returns this information.
I noticed that my feedback news feed shows certain posts that aren't returned by any of the API's. (I tried the GraphAPI and the legacy REST API and FQL).
I can see those status updates at http://facebook.com on my news feed and I can also see them in the Facebook mobile app on iPhone and the mobile app on Windows Mobile.
Some of my friends seem to have set a privacy setting. I think it is this one: "How people bring your info to apps they use" - decheck "My Status Updates", although I can't confirm that is the only reason their posts don't show up, it seems one possible explanation.
So, what API are these facebook mobile applications using which returns the same data as the web site ? Is it possible for me to build another facebook client using that API?
Have you acquired the read_stream extended permission? This is required to see all postings. Typically without it you don't see any posts, but I think you can see posts that are marked as being completely public.