News Feed via Graph API 'outdated' - facebook

On the Graph API documentation, the following is in brackets next to the News Feed endpoint:
this is an outdated view, does not reflect the News Feed on facebook.com
This is a fairly critical method in any app using the Graph API, so what are we supposed to use? Is there a way to obtain a more accurate version of the News Feed with a different API?
I've noticed some differences between what is shown on the website and what is shown through the API but I assumed most of it was down to individual user permissions. Either way this issue is non-trivial and is starting to make regret choosing the Graph API over, say, FQL.

You can use FQL to fetch the news feed. See the documentation under https://developers.facebook.com/docs/reference/fql/stream/
But it seems that the results doesn't differ from the results via the graph api.

Related

Get Facebook Page Offers that haven't Expired via Graph API

I have a Facebook Page. I am trying to get the Non Expired 'Offers' that exist from the Pages that my Page Likes.
This is what I use to get all the offers (Including Expired):
GRAPH GET (2.5): /210111832375724/likes?fields=offers
(210111832375724 is my page ID)
I have used 'since(now)', but it failed. It seems to work for events, but not offers.
I could just get all offers and then use my software to select ones that haven't expired, but thought I would see if there is a better solution.
Following the Facebook docs, I don't see another possibility then to filter the "valid" ones from the Graph API call's response. There is currently no general way to filter results in the Graph API.
See
https://developers.facebook.com/docs/graph-api/reference/page/offers/#Reading
https://developers.facebook.com/docs/graph-api/reference/v2.5/offer

Graph API vs own app home feed

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)

Has the Facebook graph search API been removed in Graph API version 2.0?

I can use the Facebook Graph API successfully (within my iOS app) for several calls but I'm trying to use it for searching.
I implemented the url after googling and getting many hits, i.e. Does facebook have a public search API yet?.
I can use the search API from a browser and get results, however it doesn't work from within my app.
So I had a look at the Facebook graph API reference https://developers.facebook.com/docs/graph-api/reference/v2.0
and search isn't listed there. Has it therefore been removed?
Be aware that Facebook has just taken down public post search in Graph API v2.0 so you won't be available to do that anymore.
Check https://developers.facebook.com/docs/apps/upgrading under section Graph API "Public post search is no longer available. (/search?type=post&q=foobar)"

How do I publish an activity on facebook using the Graph API

The old Facebook Legacy REST API had a function dashboard.publishActivity, however the new Graph API only allows messages to be posted on /me/feed.
Is there a way to send activities using the Graph API?
As mentioned in http://developers.facebook.com/blog/post/552/ Facebook "have removed the section which displayed the News that developers published via the Dashboard APIs in the Games Dashboard". Therefore the dashboard.publishActivity function no longer provides any useful functionality. My recommendation is to switch to either using stream posts or to Requests 2.0, as these will provide the same sort of distribution that you're looking for.

Accessing Facebook Likes and Interests with the old rest api

In their recent changes, Facebook now links your likes and interests with community and fan pages. How can I retrieve this information using the old rest API and Facebooker. I tried things like this to get the music preferences :
facebook_session.user.music
but I get a blank string instead of the relevant connections. Is it mandatory to use the new Graph API in order to make this work?
I believe this data can only be accessed via the Graph API.