How to pull dark posts on FB Graph API v6.0? - facebook

On v3.2 and under, the method in this post still works:
/promotable_posts?include_inline=true
The results must then be filtered by is_hidden=True to find the true dark posts.
What is the equivalent of this on v6.0? /promotable_posts is deprecated and we may lose access entirely at an unknown time.
/published_posts is supposed to be all posts published by a page, so I would expect the answer to be in that endpoint but cannot find it yet.

You should request this.
/{page-id}/ads_posts?include_inline_create=true
That worked for us.

Related

facebook graph api - search group is not working

Earlier i was searching for groups with a particular keyword on facebook using -
https://graph.facebook.com/search?q=query&type=group&access_token=abcd..
Since last month it has stopped working. This search now returns always for any
keyword an empty data array. While for types page,user,event,post still returns
proper results. This happened by the time versioning was introduced. I tested
also with the Graph API Explorer with different versions and none worked.
You can check it from here: https://developers.facebook.com/tools/explorer/
There's an open bug at FB for this. See my answer here: Search for Groups in Facebook with FacePy not working I don't think that there's anything you can do at the moment except wait and hope FB will fix this soon.
As Tobi mentioned there is a bug for this on Facebook.
If you face the same issue subscribe here:
https://developers.facebook.com/bugs/862756217087760/
The more developers subscribe, the soonest we'll have
a fix i guess.

"unsupported get request" for a post that exists and is publicly visible

The following public post which is visible on the page it was posted (it is not "hidden") is a mystery to me: https://www.facebook.com/Orange.France/posts/833781953305851
i.e., it is not available in the page's /feed edge, and the graph API can't retrieve it either. The following command returns an "unsupported get request":
curl https://graph.facebook.com/170852259598827_833781953305851?access_token=XXX
I tried also the following without much success:
curl https://graph.facebook.com/833781953305851?access_token=XXX
In both cases, I tried the access_token of the page as well a random access_token generated from the graph explorer.
So, the question is: how can I retrieve this post through the FB API ?
You can't retrieve that post via the API - it was made by a user whose data cannot be accessed via the API by any app due to their privacy settings
You can see this by trying to load the poster's details (https://graph.facebook.com/<username>- it fails with the same exception)
Such posts will never be accessible via the API, because the person who made the post has explicitly disabled all apps from interacting with them or their posted content
If you want to prevent such users from posting on the page, there's an API-settable option called which will stop this - documentation for how to apply settings to the pages your app manages is here: https://developers.facebook.com/docs/graph-api/reference/page/settings
The specific option you need to enable to prevent platform-opt-out users from posting is called PLATFORM_OPTOUTS_CAN_POST
The main reason is not because of page, but it's because of the author turn the platform off.
You can't query the author basic info via Graph API.
The author can turn the platform off, so any Graph API query including comments wouldn't include him.

Publishing Location-aware Post via Graph API

It is my understanding that the Post object is now Location-aware.
However, I can't seem to find documentation on how to publish location-aware Posts via the Graph API.
My app is currently publishing Checkins that reference a Place - but I would like to migrate to location-aware Posts since Places are being deprecated.
I understand that Checkins are sticking around, and that they will now reference a Page instead of a Place, but, unless I'm mistaken, the Page ID reference is still mandatory, and I am in need of my location-aware post/checkin having an optional Page reference.. hence my desire to move to Posts that have location capabilities.
Please let me know if I am incorrect in any of my assumptions..
I tried finding these questions, but none of them seem to hit exactly on the things I needed to know.
Thanks so much!
So you can now add location to posts and photos:
http://developers.facebook.com/blog/post/2012/03/07/building-better-stories-with-location-and-friends/
However I think this location is still added by giving a place ID or page ID (I'm not sure which, actually.) But I think you're asking if you can add location without a place/page ID? Personally I would like to do this as well, e.g. use lat/lon coords.
When you post through facebook proper, it can automatically add your general location (e.g. "near [nearest city/municipality]") however I don't see a way to achieve the same thing through the FB API.
You can't currently attach a location to a post via the graph api. Keep an eye on the Facebook developer blog to see if that changes.

facebook graph api does not return all feed items on facebook page

at the time of this question, if you go here:
http://www.facebook.com/realplayer
you'll see six posts down, I have posted a photo with a message of "#highfive Cincinnati, OH"
but if you to either of these:
http://graph.facebook.com/realplayer/feed
http://graph.facebook.com/realplayer/tagged
the JSON that is returned seemingly includes everything on the wall, except for MY post. there is another photo post from someone else down below mine, and it is showing up (and both my photo and his photo are in the "Fan photos" section)
obviously, since I can see everything with these links already, it appears that access_token is not a part of the equation... BUT, some more info:
if I use an access_token from a session that isn't me, I can't see the post in the JSON
if I use an access_token from MY logged in session, then I DO see the post in the JSON
so I'm very confused.
if everyone in the world can see those posts on the wall without even authenticating, then I expect all of them to come back in the graph api as well.
anyone have thoughts on this?
I am aware of the "manage_page" permission... which I can use to get a list of accounts and special offline access tokens for those pages... and that's something I can explore... but it seems like alot of work when my post seemingly SHOULD be there in the graph
well looks like FB has this nice little anti-spam feature for pages... such that a non-admin can't write lots of messages on your page. what's interesting is that facebook uses similar "silent treatment" techniques that StackOverflow uses ( https://blog.stackoverflow.com/2008/09/podcast-21/ )... so when I look at a wall that I've been "spamming" I will see all of my posts... but no one else will.
I was able to create a new test account and get about 3 or 4 messages on a page before it started blocking me again
so probably the Graph API is working as designed :)
========================
UPDATE: this appears to only be part of the problem. I have constructed another page and app and been doing testing:
http://www.facebook.com/pages/RP-Test-Page/116735865065591
note the entry for "#highfive Orlando, FL" ... even an unauthenticated user can see this entry from the actual page... but there is seemingly no way for me to get it back through the API. He only posted once, so it can't be an "anti-spam" thing (you wouldn't think).
I have obviously tried the Graph API (with and without my own access token)
I have tried FQL (with and without my own access token)
and I have followed this post:
http://en-gb.facebook.com/topic.php?uid=10381469571&topic=3815&post=51980
in order to request manage_pages and offline_access extended permissions from myself and use that to get the /me/accounts and then get the "impersonation" access token (whew)... STILL NOTHING
there must be some other super security thing going on. is it not possible to reliably get all of the wall posts from a page?

Retrieve group events with Facebook Graph API

I'm a little confused trying to adapt to the new facebook Graph API.
Whereas before I would have used events.get, I'm not entirely sure what to use now!
I can't seem to get a list of a group's events through fql, nor through the Graph API itself.
Any pointers? Should I keep using REST?
In the documentation under "Connections" it doesn't appear that you can get /events. Or for that matter /albums or anything useful...
http://developers.facebook.com/docs/reference/api/group
However, if you know that something is an event (which you could probably do because the link in the data has "eid" in it - I can't see a way beyond that) then you can call the event URL (http://developers.facebook.com/docs/reference/api/event) and get the details that way.