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

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

Related

Facebook graph api search displaying users in Facebook but not in graph [duplicate]

I'm using Facebook graph Api to search users and data that i get is kinda different from that i get from Facebook UI. For example search response of User interface is friends, mutual friends and other related data in first. How can i query to get related data for current user ( i.e friends and mutual friends in first place).
Here is query that i'm using to search users.
https://graph.facebook.com/v2.5/search?fields=id,name,picture.type(normal)&limit=50&q={q}&type=user&access_token={token}
and data that i get is kinda different from that i get from Facebook UI
That’s because those are two completely different things.
The search functionality offered via the UI is called Graph Search. But the powerful possibilities that offers are not exposed via API. (To protect user privacy, and keep apps from doing extended user profiling via that data.)
Searching via API is limited to what is listed here: https://developers.facebook.com/docs/graph-api/using-graph-api/#search
That’s not much – but it’s all you get.

How to get FB Graph API Business Rating

I have recently started using Facebook's Graph API. I was wondering is there a way I can get just the overall rating of a business that I am not the owner of the page of. I am aware that there is a ratings edge that allows you to pull all reviews if you have a page-access token but I do not have this and do not need that detailed information. I do not see any fields in the "page" documentation and do not want to resort to scraping. This will be used in an app to compare businesses.
It is not possible to get ratings/reviews of a Page you don´t own. As you found out yourself, you do need a Page Token, and you don´t get one if your user does not belong to any Page role. There is no way to get the ratings/review in that case, and scraping is not allowed: https://www.facebook.com/apps/site_scraping_tos_terms.php

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)

How to get insights on a Facebook fan page without user login

I'm trying to figure out how to get the total number of comments, posts, likes and fans for any given Facebook fan page and date range using the Facebook API's. I need to be able to do this without the user having to log into Facebook to give the app permissions. This does seem to be possible, as this site is able to do it https://app.conversocial.com/profiler/ .But I don't know how they are doing it.
I've looked into the 'insights' fql table, but this always seems to return empty results. And I've also looked into the 'link_stats' fql table but this doesn't allow a date range to be set.
Does anyone have any idea on how to do this?
You are right. What they are doing is not possible by using the normal Graph API or/and the FQL.
However, Facebook also provides support for two other APIs:
Public Feed API
Keyword Insights API
Access to these APIs is restricted to a limited set of media publishers and usage requires prior approval by Facebook.
I think that they are using the Public Feed API. The documentation of the Public Feed API lists some of the publishers that have been using this API and the site you've mentioned in the question is not in the list. The documentation also doesn't mention anything about getting the Page Insights, but I think it might support this feature (as I see no other way of doing it).
Or, they might be using any other such restricted API which is not yet available to the public and not even documented on the developers website, but is currently in beta/testing phase.
To get the number of fans and the talkabout count, just query the appropriate Open graph ID for the relevant page. For example, for Coca Cola (https://www.facebook.com/cocacola) this is done via
https://graph.facebook.com/40796308305
To get all public infos (Posts etc) use the following request
https://graph.facebook.com/40796308305/feed?access_token={ACCESS_TOKEN}
where {ACCESS_TOKEN} can either be an App Access Token or a personal one. Consider that you can only see public entries.
The ability to query the date ranges is not provided via Facebook ad far as I know. I guess the https://app.conversocial.com/profiler/ application queries each page that is in its index once a day, and saves the results. That's how they're able to provide historical data.
You can try with the following FQL queries or graph API requests for facebook pages,
Graph API
http://graph.facebook.com/nb4cinema
FQL
SELECT name,about,description, fan_count,talking_about_count FROM page WHERE username= 'stackoverflowpage'
In case of FQL tables:
To read the page table you need
no access_token to get public information, or information about public pages that are not demographically restricted.
any valid access_token to get all information about a page that the current session user is able to see.
We have a test fan page. This has poor figures (<10 fans). Statistics are not available due to the lack of fans and likes on that page.
Allthough, conversocial spits out some statistics. They mixed fans and likes to some extent and so my impression is, that they simply parse the page code in order to get what you see.

Open Graph insights for specific post

We have a Facebook Application with custom Open Graph objects and actions.
We then use a App Access Token to post stories for a particular user from our backend with the normal Open Graph REST API. After the post-call succeeds we log the returned "id" of that post.
Now we would like to collect insight data (e.g. post_impressions_unique) for some of these individual posts/stories using the logged id's.
According to https://developers.facebook.com/blog/post/573/ we should be able to do something like:
https://graph.facebook.com/[POST ID]/insights
Even though this call seems to work using our normal App Access Token, no insight data is returned for the post/story.
Does anyone know if this is possible and how to do it?
We have been experimenting with a normal User Access Token and the "read_insights" permissions, but with no luck. I have read some similar questions but mainly regarding page-posts (this is an App Open Graph post/story).
EDIT:
The facebook article above only refers to "Page" posts. I'm looking for analytics on individual Facebook App Opengraph Posts/stories. It seems difficult to find any good information about this, has nobody attempted this with any success?
You must add insights into a permissions/Extended permissions
Article :
Getting Page Insights
In order to obtain Page Insights via the Graph API, you must use a Page access token, and you must have the read_insights permission. Click on the link below to see this working in the Graph API Explorer.