12
votes

I m trying to get wall posts from a profile facebook. I have no problems with the fan pages and my user token is valid (at least for the fan pages).

Example with this post : https://www.facebook.com/aurelia.filion/posts/10151342315613445 As you can see the post is public.

So i try: graph.facebook.com/529628444_10151342315613445?access_token=MY_TOKEN graph.facebook.com/10151342315613445?access_token=MY_TOKEN

it returns : "error": { "message": "Unsupported get request.", "type": "GraphMethodException", "code": 100

In my Api graph explorer, i can't see the posts from this user neither. graph.facebook.com/529628444?fields=posts (529628444 is the aurelia.filion's id)

So is it possible to get the wall posts? It's public it should be a way to get them

thanks


ok i 'll explain in a different way, my goal is to get this kind of posts with the graph (i can get all others posts except theses)

facebook.com/aurelia.filion/posts/10151342315613445

facebook.com/aurelia.filion/posts/10151336175793445

but i get the error "Unsupported get request."

i've tried both user token and app token this link doesnt work : graph.facebook.com/529628444_10151342315613445?access_token=MY_TOKEN

when i m trying with the feed i dont see the posts i want in there.

And if i request the posts graph.facebook.com/529628444/posts?limit=100&access_token=TOKEN i can see everything (link, photo etc) except the freaking posts!!

How can i get theses posts, is it a token problem, it looks like it's a status, is it different to get, i mean do we need permissions? graph.facebook.com/529628444?fields=statuses&access_token=TOKEN it doesnt return any results! its empty!

EDIT

2
Not sure why this page is giving you an "Unsupported get request error" when you don't have a valid token. I've tried this with both a valid user and app access token, and have been able to get data. If I try without a token or using an expired token, I get the unsupported get request error instead of the proper error.cpilko
Check out my answer/question. It doesn't get any simpler than this.craned

2 Answers

11
votes

EDIT

This answer was written back when the Graph API version was in its first version. Back then you could get the user feed by using the user ID, right now the user ID is no longer shared between apps. Also facebook created a new API that it's only available to some of it's partners.

So right now it's impossible for you to get the public user feed, unless the user has used your app. You can still get the Pages feed though.

Old version

This answer was for graph api v1

So you must use this https://graph.facebook.com/529628444?fields=feed&access_token=YOUR_TOKEN

And if all you want is query public data you can create a APP Token by doing this:

https://graph.facebook.com/oauth/access_token?
client_id=YOUR_APP_ID&client_secret=YOUR_APP_SECRET&
grant_type=client_credentials 

And use this token instead of using your user token.

7
votes

I dont know if this post is too old, but i just found it while I was searching for a solution to my problem.

Anyway, I'll just show how I managed to get feeds from a public user:

        var fbul = "https://graph.facebook.com/oauth/access_token?type=client_cred&client_id=[AppID]&client_secret=[AppSecret]";
        var fburl = "https://graph.facebook.com/201317759900688?fields=feed&";

        $.get(fbul, function(auth_token){
            $.ajax({
                dataType: "jsonp",
                url: fburl+auth_token,
                success: function(res){
                    console.log(res);

                }
            });
        });

And here a litte explanation: you have to go to the facebook dev console (https://developers.facebook.com) and register a new web App. Just go on "My Apps" in the top Nav and go on "Add a new App". Once thats done you can access your App ID and your APP Secret.

The first link "var fbul" is to get your access_token which you need to access the feeds.

var fbul = "https://graph.facebook.com/oauth/access_token?type=client_cred&client_id=[AppID]&client_secret=[AppSecret]";

Just change [AppID] and [AppSecret] to your own keys.

The second link is to access the feed(we dont add the acces_token here because we do that in our ajax request)

var fburl = "https://graph.facebook.com/201317759900688?fields=feed&";

The number here(2013177599....) is the channel ID from a public site. To get that number just go on http://findmyfacebookid.com/ and enter the facebook URL to the public user.

Thats pretty much everything you need.

Now write your ajax request as followed:

$.get(fbul, function(auth_token){
            $.ajax({
                dataType: "jsonp",
                url: fburl+auth_token,
                success: function(res){
                    console.log(res);

                }
            });
        });

You'll see now the results in your console.

Use the success function to handle the results the way you want.