Facebook Graph API: Missing posts from feed - facebook

I've read so many posts regarding this issue, nevertheless no solution was found.
I'm using the graph explorer with ALL permissions selected (on both "User Data Permissions" and "Extended Permissions")
Trying to query a group feed via: /{group-id}/feed
And some posts are missing.
I saw that someone somewhere wrote that FQL will probably overcome this limitation - but Facebook announced that they are going to suppress FQL.
----------------[Try it Yourself]---------------------
Join the group "IT Security" (This is just an example). You can find the group with facebook.com/6340489103
find a post by "Gabor Nagy". Tip: after joining the group, you can access the post directly via "facebook.com/10152587882559104".
Go to the graph explorer (link above)
type /10152587882559104 which is /{post_id}
did you receive "code: 100"?
{
"error": {
"message": "Unsupported post request.",
"type": "GraphMethodException",
"code": 100
}
}
try other posts and see that it works fine
How come I can access this post directly but not through the graph api?

SOLVED!!!! (well, more or less)
I've approached some of the people who posted the posts that cannot be accessed via Graph API.
After some debugging we have found the source.
They all turnd off the Facebook Platform option: https://www.facebook.com/about/privacy/your-info-on-other#friendsapps
This stops apps from accessing their data.
It doesn't really helps me with my project, but at-least I feel better. ;)
Enjoy

Related

Facebook Instagram Graph Api Get Tags with username

I tried the Instagram-Graph-Api because the current Instagram-API will be shut down soon.
I want to retrieve posts, created with a specific Hashtag and read the Username who created that post.
Unfortunately the username-Field is not supported in the IG Hashtag API
You cannot request the username field on returned media objects.
OK, that's maybe a Facebook-Limitation. So I tried to fetch the Details of an object with the IG Media API. This Api works for Media-Objects what I created with my linked Facebook-Account for the Access-Token, but it does not works with other, public accounts.
Facebook wrote:
Fields marked with an asterisk (*) are public fields, which means they can be returned by an edge using field expansion.
And the username-Field in the documentation is wrapped with an *. So I think it's a public information to what we should have access to?
I do not found any limitation on facebook saying that the IG Media Api only allows to retrieve Elements from Pages where my Access-Token is authorized to, is this currently a limitation because my Facebook-App was not reviewed by Facebook?
This is the Graph-API-Call what I made:
GET https://graph.facebook.com/v7.0/18142822621010864?user_id=17841402377690736&fields=id%2Cusername&access_token=
And this is the response what I get:
{
"error": {
"message": "Unsupported get request. Object with ID '18142822621010864' does not exist, cannot be loaded due to missing permissions, or does not support this operation. Please read the Graph API documentation at https://developers.facebook.com/docs/graph-api",
"type": "GraphMethodException",
"code": 100,
"error_subcode": 33,
"fbtrace_id": "AMi0N96iFZ65hgvS1D1upsO"
}
}
Thank you
Matthias
Ok did a lot of research on this one last night. And simply put, Facebook locked down their api pretty hard.
You are not able to see any specific of a media item not owned by yourself.
You are not able to see any comments when your are not tagged or mentioned in the post
You are not able to get the username of media found via hashtags for example.
You should be able to see replies on your comments added to public media you do not own.

An unknown error has occurred with graph Facebook

I have an element on my website which shows facebook posts from a page and the amount of views/likes/comments. This stopped working all of a sudden and I have no idea why.
If I make the request with the graph api tester tool I get:
{
"error": {
"message": "An unknown error has occurred.",
"type": "OAuthException",
"code": 1,
"fbtrace_id": "CIHVxFhXIv/"
}
}
This is the request link I use with file_get_contents:
https://graph.facebook.com/v3.0/idofmypage/posts?fields=comments,full_picture,likes,message,picture,story,permalink_url,updated_time,from,insights.metric(post_impressions)&access_token=myaccesstoken
Did something change again with permissions or maybe a field is deprecated?
According to this fb new the Pages API and others have changed, and now you can only access the data if it's a page of your own.
Pages API: Until today, any app could use the Pages API to read posts or comments from any Page. This let developers create tools for Page owners to help them do things like schedule posts and reply to comments or messages. But it also let apps access more data than necessary. We want to make sure Page information is only available to apps providing useful services to our community. So starting today, all future access to the Pages API will need to be approved by Facebook.
Today I've started a project wich, in the begging, I need to recollect data and that's what I've found about it..

Facebook Graph API Updating Privacy Parameter

Context:
I have a facebook page with a post
I want to hide that post from anyone accessing the page (other than me) using the Facebook API
This can be achieved using the privacy field with "SELF"
Problem: Before I can even use it in my application, I cannot get a working example in the Graph API Explorer. I am using:
POST /v2.7/POST_ID?privacy={"value":"SELF"}
This works with other properties such as message, but despite many attempts, when I am able to actually set the privacy value property I always get the following message:
{
"error": {
"message": "(#100) Failed to edit object",
"type": "OAuthException",
"code": 100,
"fbtrace_id": "DkL5f4bzK2E"
}
}
Question: Can anyone provide a working example?
References:
Graph Explorer: https://developers.facebook.com/tools/explorer
Privacy Parameter: https://developers.facebook.com/docs/graph-api/common-scenarios#privacy-param
After asking Facebook Support Team if it was a bug, it is not, their answer:
You cannot edit the privacy of a post on a page . You can choose to
publish / unpublish it , if needed.
To change the audience of the page itself, you will need to edit the
settings of the page.
This is by design.
You can also see their answer directly: https://developers.facebook.com/bugs/152272141874454

How do i mention user in my Comment while replying from FACEBOOK GRAPH API?

I am using Facebook graph API, I want to know that how can I mention person in a comment while i am replying to the POST?
when i am trying to do it with the format #[ID:NAME] E.g (#[12345:Abc]) it gives me an error like
{
"error": {
"message": "(#1705) There was an error posting to this wall",
"type": "OAuthException",
"code": 1705
}
}
As per this post of stack overflow Tagging/Mentioning Pages or Users in Posts via Graph Api
I come to know that you cannot tag user via API.
You can't tag people on a feed using the Graph API, you have to use
Open Graph concepts- Mention Tagging/ Action Tagging (based on your
requirement)
Source : Tagging/Mentioning Pages or Users in Posts via Graph Api
You can use Open Graph API -
https://developers.facebook.com/blog/post/2012/08/21/bringing-mention-tagging-to-open-graph/

Unusual behavior of facebook grap API ("type": "GraphMethodException", "code": 100)

I am having some unusual errors while fetching some data for some users via graph API.
As for example w all know we can get basic user info via graph.facebook.com/username
And it works. But it is not working for some users. Like the user www.facebook.com/sanzida.tanzum is a valid facebook user. So, we should get her basic info via graph.facebook.com/sanzida.tanzum. But when you will try that, you will get the error
{
"error": {
"message": "Unsupported get request.",
"type": "GraphMethodException",
"code": 100
}
}
And it is not a permission issue because use user herself gets the same error when she try to retrive her own data via graph API. Actually the user sanzida.tanzum is invisible to graph API. For example user sanzida.tanzum is on my friend list. You can check here. my friendlist.(it is public). But when I retrive my friendlist via graph API, my friendlist is shown excluding the user sanzida.tanzum ! But she is in my friendlist!
I have tried to contact facebook for this matter because I did not find any doccument related to this matter. They replied it is usual. (probably they did not read my mail at all. I am including the email conversation with facebook)
Hi তৌফিক,
They are getting errors because they are not you... they dont have
permissions to see the same things you do. They might also be missing
an access token. Either way: no bug here.
Thanks,
Emrakul Security Facebook
-----Original Message----- From: *****#ovi.com To: Subject: Report a Security Vulnerability - Unusual bug in facebook graph API
Your Email Address: *****#ovi.com Do you have technical details of
a security vulnerability?: Yes Vulnerability Type: Privacy /
Authentication Vulnerability Scope: Platform Developer API Title:
Unusual bug in facebook graph API Product / URL:
https://graph.facebook.com/sanzida.tanzum Description and Impact: I
was doing some graph API calls for testing purpose. Mostly I was doing
mostly user profile calls. (https://graph.facebook.com/exampleuser)
Somehow I realized facebook is giving following errors for some users
even they are on my friendlist. Same thing occurs when they try by
themselves.
As for eample the user "https://www.facebook.com/sanzida.tanzum" is on
my friendlist. (My friendlist is public.You can check if you want.)
So, according to facebook graph API, I can request the user's basic
info using (https://graph.facebook.com/sanzida.tanzum) But it returns
this error:
"{ "error": {
"message": "Unsupported get request.",
"type": "GraphMethodException",
"code": 100 } }"
Actually graph API can't access nothing of this user. Another
example.. When I request my friendlist via graph API , All friends of
my friendlist is shown except the user (sanzida.tanzum). But she is in
my friendlist! check here (my friendlist is public)
"https://www.facebook.com/toufiqueimam/friends". So why is this
happening only for few users?
Just now I got confirmation that the user herself gets the same error
if she tries to access (https://graph.facebook.com/sanzida.tanzum)
{ "error": {
"message": "Unsupported get request.",
"type": "GraphMethodException",
"code": 100 } }
Reproduction Instructions / Proof of Concept: Reproduction: first go
to https://www.facebook.com/sanzida.tanzum You will see it is a valid
profile. Now try https://graph.facebook.com/sanzida.tanzum You will
get following error
{ "error": {
"message": "Unsupported get request.",
"type": "GraphMethodException",
"code": 100 } }
This isn't a bug, the error means that the data you're trying to access is not accessible to you, does not exist, has been deleted, is not available because you haven't provided an access token from a user who can see it, etc.
See this answer for an example of this error message in relation to Facebook pages: https://stackoverflow.com/a/6847088/21062 - the same is true when trying to access user profiles if that user has blocked you, blocked your app, disabled their account or disabled all apps from accessing their information.
Just an FYI, I ran into this problem, and it wasn't because the user had blocked all applications. In my scenario, my application was attempting to force-convert Facebook's 64 bit integers into a 53 bit JavaScript integer (Node application). It was mangling the value, so when I was making the Facebook GET Request later on in my application lifecycle, I was doing so with the mangled value, and Facebook was trying to tell me "Um, this UserId doesn't exist".
So in my application, I had to use the Node Big-integer add-on, along with the Mongoose mongoose-long plugin for my Mongodb.
Long story short, if you are converting the UserId to it's native 64 bit integer, don't do so unless the intger type in your application is at least 64 bits.