How to get public wall posts with the facebook API

前端 未结 2 1766
甜味超标
甜味超标 2020-12-24 09:09

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 thi

相关标签:
2条回答
  • 2020-12-24 09:42

    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.

    0 讨论(0)
  • 2020-12-24 09:43

    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.

    0 讨论(0)
提交回复
热议问题