How to get public wall posts with the facebook API

半腔热情 提交于 2019-11-29 23:19:52

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.

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.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!