I'm trying to program a personal-use application using FB Graph API in order to automate some recurrent publications on my own page. I made a successful post request that returned the id of the publication and I see the publication on my page feed but despite the publication has public access, I'm the only one that can see it. Anyone know what happen here? Thanks in advance.
Related
When I try to use the Facebook connector in Azure logic apps I can't seem to get the "Get user timeline" to work.
I know for a fact that the User ID is valid (I checked using this URL: https://www.facebook.com/profile.php?id=). I also know for sure that the user has posts on it's timeline. I also tried multiple user ID's.
When I open the failed request in the Logic app I get this, the response is empty every time.
Is this related to privacy settings? Why doesn't this work?
We should probably retire/remove that operation. It is not possible to retrieve the post from Facebook graph API for another user's timeline. It used to so that is why it is there. Specifically, this post might be helpful: Facebook Graph API {user-id}/feed from others empty
The connector calls the /{user-id}/feed API. You can try out the behavior in the Facebook Graph explorer as well. https://developers.facebook.com/tools/explorer/
I am managing an organisation's page on Facebook and want to like all posts made by the page from my personal account.(Let us say the posts from now on and not from the time the page was created) I have no idea how to proceed as I haven't explored facebook's developers tool. Can someone help a bit?
Well, its a very broad question. I dont know what language are you using and are you aware of graph api or not. So first of all go through the basics-
Using the Graph API
Access token - all API calls must be signed with an access token
Login - very important part i nfacebook integration, yet I think its not relevant to this question
Graph API Explorer- a tool provided by facebook to test the API calls. (first register on the developers site if you have not yet)
Now coming to the solution to the question-
First of all you'll be needing the post IDs of the page. To query for all the posts-
\GET https://graph.facebook.com/<Page-ID>/posts?fields=id
Example to fetch all the public posts by "Aam Aadmi Party".
Then, for each of that post id, you have to make a POST call to /likes, this will return true on success and the post will be liked.
\POST https://graph.facebook.com/<Post-ID>/likes
Example to like a post from the "Aam Aadmi Party" page.
Hope it helps. Good luck!
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.
It seems weird that I can get a public page feed on facebook (posts, etc) by doing:
https://graph.facebook.com/cnn/feed?access_token=ACCESSTOKEN
but I can't get that info with their realtime api? Is it possible just to have any changes (posts created) get pushed to me with the realtime api by subscribing to a page, for example the CNN facebook page? It seems silly to just keep on having to hit the graph api every x minutes and check to see if there are any new posts since the last post id when the realtime api could just push them to me. Does anyone know a way to do this? What am I missing?
Thanks
In order to receive real time updates from the page, the app needs to be installed on the Page.
The real-time update settings doesn't let you specify a page_id so there is no way for Facebook to know which pages you want to receive updates from.
Seeing as you won't have permission to install apps to pages you don't have admin access to, you are limited to the method you are already using at the moment. The only way is to continue querying the API periodically and checking for changes.
I am curious as to how much data can be gathered using the fql or graph api from facebook. If the user has their info marked as public and I am not friends with them, i can see it on the site. However, i have just paid for a completed project someone did for me and the interface they designed does not get that data. For instance, their likes. I was told the api does not support all facebook data, but that seems wrong to me.
Here is the documentation for the graph api. Hopefully this will help you discover what data is available.