wake-up-neo.com

so zeigst du die neusten Beiträge auf meiner Facebook-Seite auf meiner Website an

ich habe eine Facebook-Seite und möchte die letzten 5 Beiträge meines Feeds/meiner Pinnwand auf einer Seite meiner Website anzeigen. Wie macht man das? Ich habe diese Lösung gefunden .. es ist einfach

https://developers.facebook.com/docs/reference/plugins/like-box/

und jemand leite mich zu facebook api und mache es mir selbst was ist der beste Weg?

Ich benutze PHP MySQL, um diese Seite zu erstellen

7
user1080247

Hier ist der PHP Code. Sie müssen dies in Ihre Vorlage einfügen.

<ul>
<?php
//function to retrieve posts from facebook’s server
function loadFB($fbID){
    $url = "http://graph.facebook.com/".$fbID."/feed?limit=3";
    // Update by MC Vooges 11jun 2014: Access token is now required:
    $url.= '&access_token=YOUR_TOKEN|YOUR_ACCESS_SECRET';// *

    //load and setup CURL
     $c = curl_init($url);
     curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
    //get data from facebook and decode JSON
     $page = json_decode(curl_exec($c));
    //close the connection
     curl_close($c);
    //return the data as an object
     return $page->data;
}

/* Change These Values */
// Your Facebook ID
 $fbid = "190506416472588";
// How many posts to show?
 $fbLimit = 10;
// Your Timezone
date_default_timezone_set("America/Chicago");


/* Dont Change */
// Variable used to count how many we’ve loaded
 $fbCount = 0;
// Call the function and get the posts from facebook
 $myPosts = loadFB($fbid);


//loop through all the posts we got from facebook
foreach($myPosts as $dPost){
    //only show posts that are posted by the page admin
    if($dPost->from->id==$fbid){
        //get the post date / time and convert to unix time
         $dTime = strtotime($dPost->created_time);
        //format the date / time into something human readable
        //if you want it formatted differently look up the php date function
         $myTime=date("M d Y h:ia",$dTime);
        ?>
        <ul>
            <li><?php echo($dPost->message) . $myTime; ?></li>
        </ul>
        <?php
        //increment counter
         $fbCount++;
        //if we’ve outputted the number set above in fblimit we’re done
         if($fbCount >= $fbLimit) break;
    }
}
?>
</ul>

Zwei Dinge, die Sie tun müssen, um dieses Skript zu erstellen.

  1. Stellen Sie sicher, dass Ihr Server cURL-fähig ist

  2. Sie haben die Facebook-ID im Skript von Ihnen geändert.

* Sie können das Zugriffstoken folgendermaßen erhalten:

$token = 'https://graph.facebook.com/oauth/access_token?client_id='.APP_ID.'&client_secret='.APP_SECRET.'&grant_type=client_credentials';
$token = file_get_contents($token); // returns 'accesstoken=APP_TOKEN|APP_SECRET'
17
Okky
  1. Loggen Sie sich bei Facebook ein
  2. Gehe zum Facebok-Entwicklerbereich " Apps "
  3. Neue App registrieren, Sie müssen nur eine neue App registrieren, alle zusätzlichen Daten sind optional
  4. Kopieren Sie Ihre App-ID/Ihren API-Schlüssel und Ihr App-Geheimnis aus demselben Abschnitt " Apps ".
  5. Kopieren Sie facebook.php und base_facebook.php Dateien von repo auf Ihren Server
  6. Benutze polymorphic query to api, um den Inhalt der Pinnwand von Facebook anzufordern

    require 'facebook.php';
    $facebook = new Facebook(array(
        'appId' => 'YOUR_APP_ID',
        'secret' => 'YOUR_APP_SECRET',
    ));
    
    $fbApiGetPosts = $facebook->api('/YOUR_FACEBOOK_ACCOUNT_ID/feed?limit=5');
    if (isset($fbApiGetPosts["data"]) && !empty($fbApiGetPosts["data"])) {
        // display contents of $fbApiGetPosts["data"] array
    }
    

    Ersetzen Sie YOUR_APP_ID durch Ihre App-ID, YOUR_APP_SECRET durch Ihr App-Geheimnis und YOUR_FACEBOOK_ACCOUNT_ID durch Ihr Facebook-Zielkonto, von dem Sie Beiträge erhalten möchten.

Polymorphe Abfrage ist im Grunde Pfad/URL. Weitere Informationen finden Sie in den oben genannten Facebook-APIs Referenzdokumente .

Wenn die Pinnwand Ihres Facebook-Zielkontos öffentlich ist, brauchen Sie nichts anderes, um sie anzuzeigen.

15
Deele

Ich hatte Probleme mit Okkys Antwort hier und fand eine mögliche, wenn auch nicht ideale Lösung.

Verwenden Sie einen RSS-Feed Ihrer Facebook-Pinnwand und analysieren Sie ihn einfach mit einem RSS-Reader Ihrer Wahl.

https://www.facebook.com/feeds/page.php?format=rss20&id=YOUR_UNIQUE_ID

Hier ist ein schneller Weg, um Ihren Ausweis zu bekommen

2
DACrosby

Um Okky und Deele zu verwechseln, müssen Sie mit etwas enden, das so aussieht. Ich füge auch ein Ankertag hinzu, um auf die Post-URL zu verlinken:

<?php
$fbApiGetPosts = $facebook->api('/YOUR_FACEBOOK_ACCOUNT_ID/feed?limit=5');
if (isset($fbApiGetPosts["data"]) && !empty($fbApiGetPosts["data"])) {
    //loop through all the posts we got from facebook
    foreach($fbApiGetPosts["data"] as $dPost){
        //only show posts that are posted by the page admin
        if($dPost["from"]["id"]==$fbid){
            //get the post date / time and convert to unix time
             $dTime = strtotime($dPost["created_time"]);
            //format the date / time into something human readable
            //if you want it formatted differently look up the php date function
            $myTime=date("M d Y h:ia",$dTime);
            ?>
                <li><a href="<?php echo($dPost["link"]); ?>">
                                        <?php echo($dPost["message"]) . "<br>" .
                                         $myTime; ?></a></li>
            <?php
        }
    }   
}
?>
0