Frage

Ich bin für eine gute, einfache PHP-Funktion auf mein neuestes Facebook-Status-Updates zu erhalten. Jeder weiß von einem?

Danke!

EDIT:. Ich habe eine halbe Lösung unter hinzugefügt

Oder wenn jemand eine gute Art und Weise weiß, in dem RSS-Feed zu lesen und das letzten Status-Update ausspucken?

War es hilfreich?

Lösung 9

Da ich nicht die API-Route verwenden konnte, ging ich mit dem RSS gefunden auf: http://www.new.facebook.com/minifeed.php?filter=11

Und verwendet, um die folgende PHP-Funktion, StatusPress genannt, mit einigen meine eigenen Modifikationen, um den RSS-Feed für meinen Facebook-Status zu analysieren. Funktioniert prima!

Andere Tipps

Eine schnelle Überprüfung auf PEAR Services_Facebook

Dies ist eine unvollständige Antwort, aber das ist, was ich bisher bekommen habe:

Erstens: die Entwickler-Anwendung hinzufügen auf FB . Dann erstellen Sie eine neue Anwendung. Nennen Sie es, was Sie wollen.

Zweitens:. die PHP-Client-Download Dump es irgendwo auf Ihrem Webhost, dh / facebook /

Drittens: Kopieren Sie den folgenden Anfänger Code, um sich in eine PHP-Datei beginnen:

 <?php
 require_once('facebook/php/facebook.php');
 $facebook = new Facebook("YOUR_API_KEY","YOUR_SECRET_KEY");
 $result = $facebook->api_client->fql_query("SELECT status FROM user WHERE uid = YOURIDNUMBER");
 // OR --- they both get the same data
 $result = $facebook->api_client->users_getInfo(YOURIDNUMBER,'status');
 print_r($result);
 echo "<pre>Debug:" . print_r($facebook,true) . "</pre>"; // debug info
 ?>

Weitere Informationen:

  • Sie müssen angemeldet sein, und haben die Anwendung hinzugefügt. Oder Sie geben die Anwendung offline_access Berechtigungen und haben die AEinsatz hinzugefügt.
  • Sie können hinzufügen, indem Sie offline_access in der folgenden URL: http://www.facebook.com/authorize.php?api_key = YOUR_API_KEY & v = 1,0 & ext_perm = offline_access
  • Weitere Informationen über Berechtigungen finden Sie hier: http: //wiki.developers.facebook. com / index.php / Extended_permissions
  • Ich bin an einem Haltepunkt: alles meiner Programm ruft die FQL Abfrage oder users_getInfo, meine Seite stoppt Ausführen des php? ich vermute gibt es eine begrenzte Menge von Anrufen Für neue Anwendungen? Ich habe niemals so jede FB Entwicklung getan, was ich bin völlig neu zu. vielleicht machen der Ruf und speichern Sie Ihre letzten Status (Oder letzte Statusmeldungen) in Ihrem besitzen DB übermäßige Anrufe zu verhindern die API?

Ich hoffe, das hilft jemand loszulegen!

EDIT:. Es scheint, dass FB lassen Sie nicht jemandes Status zugreifen, auch wenn die offline_access eingeschaltet ist, es sei denn, Sie sind die Person oder deren Freund (auf ihre Datenschutzeinstellungen abhängig)

ich aber habe, schließlich verwalten den RSS-Feed in der neuen Profil-Version zu finden:

Ich habe einen Weg gefunden, Ihren neuesten Facebook-Status zu holen. Dies ist, wie Sie es tun:

1) erstellen Facebook-App , und kopieren Sie Ihre Anwendung Geheimnis und Anwendungs-ID .

2) Gewähren Sie die App read_stream und offline_access Ihr Profil. ( http://developers.facebook.com/docs/authentication/permissions ) um holen Ihren aktuellen Status der App eine access_token benötigt. Mit offline_access gewährt die access_token sollte „nie“ ablaufen. Der einfachste Weg, dies zu tun, ist die Schaltfläche durch diesen Code erzeugt klicken: (! Sicher sein, in ‚App-ID‘ und setzen Cookie auf true zu füllen)

<fb:login-button perms="read_stream,offline_access"></fb:login-button>
<div id="fb-root"></div>
<script src="http://connect.facebook.net/en_US/all.js"></script>
<script>FB.init({appId: 'your app id', status: true, cookie: true, xfbml: true});</script>

3) Versuchen Sie nun, um herauszufinden, was access_token es verwendet. Die access_token wird im fbs_appId Cookie gespeichert. Suchen Sie es mit Ihrem Browser oder mit $_COOKIE['fbs_appId']. Suchen Sie nach access_token=....

4) Nun, da Sie eine (hoffentlich haben) nie abläuft access_token Sie den folgenden Code verwenden:

$access_token='xxxxxxxxxxxxxxxxxxxx';
$appId='123456789132456789';
$appSecret='xxxxxxxxxxxxxxxxxxxx';
$profileId='123456789';

//http://github.com/facebook/php-sdk/blob/master/src/facebook.php
require 'facebook.php';

$facebook = new Facebook(array('appId' => $appId,'secret' => $appSecret));
$response = $facebook->api('/'.$profileId.'/feed?limit=1&access_token='.$access_token);

5) soll der Nachrichtenteil befindet: $response['data'][0]['message']

Ich weiß nicht, wie lange das Zugriffstoken gültig ist. Facebook sagt:

  

Ermöglicht Ihre Anwendung autorisierte Anfragen im Namen des Benutzers jederzeit durchzuführen. Standardmäßig verfallen die meisten Zugriffstoken nach einem kurzen Zeitraum, um sicherzustellen, Anwendungen nur Anfragen im Namen des Benutzers, wenn die sich aktiv für die Anwendung verwenden. Diese Berechtigung macht das Zugriffstoken von unserem OAuth Endpunkt zurück langlebig.

Hier ist eine wirklich einfache Funktion, wenn Sie nur den aktuellen Status erhalten möchten. Es hängt nicht von dem Facebook-SDK oder sonst etwas. Sie müssen nur CURL und JSON-Unterstützung.

Einfache PHP Funktion Facebook-Status erhalten

Ich scheine nie mit PEAR auszukommen, aber wenn Sie, als ich mehr Glück haben, dann scheint die PEAR-Lösung die beste Route langfristig.

Eine weitere Idee ist es, die Facebook Entwickler API Bibliothek zu erkunden und sehen, ob das könnten Sie geben alles, was Sie suchen.

Schließlich verwendet es eine Möglichkeit, um einen RSS-Feed zu bekommen ... aber ich kann keine Anleitung zu finden scheinen, die mehr arbeiten, aber Sie könnten um Facebook Hilfe stoßen, wenn das Sie interessiert. Mine landet etwas wie folgt aussehen:

http://www.new.facebook.com/feeds/status.php?id=[idnumber]&viewer=[viewer]&key=[key]&format=rss20

Ich habe es mit Jens' Post arbeitet eine gültige access_token abzurufen. Dann habe ich die Statusmeldungen und die Zeit der Entsendung aus der XML-Datei mit dem folgenden Code extrahierte (Sie können $ Limit zu ändern, um mehr oder weniger Statusmeldungen angezeigt werden, oder ein Formular verwenden, um es zu ändern).

Seien Sie sicher, dass in Ihrem Facebook-ID setzen und das Zugriffstoken Sie aus der App bekommen Sie erstellt (siehe Jens' Post ). Sie können die Ausgabe dieses Skripts überprüfen hier .

Viel Spaß!

<?php
if(isset($_POST['limit'])) {
    $limit = $_POST['limit'];
}
else {
    $limit = 3; // number of status messages to display
}
$f = fopen ("https://api.facebook.com/method/status.get?uid=YOUR_FACEBOOK_ID&limit=".$limit."&access_token=YOUR_ACCESS_TOKEN", "r");

while ($line= htmlentities(fgets($f))) {
    if ($line===FALSE) print ("FALSE\n");
    else
    {
        $content = $content." ".$line;
    }
}
fclose ($f);

$message = explode("&lt;message&gt;", $content); // search for the <message> tag
$message_cnt = count($message);
$msg_index = 0;

$time = explode("&lt;time&gt;", $content); // search for the <time> tag

for($i=1; $i<$message_cnt; $i++)
{
    $tmp = explode("&lt;/message&gt", $message[$i]);
    $msg[$msg_index] = $tmp[0]; // status message

    $tmp2 = explode("&lt;/time&gt", $time[$i]);
    $t[$msg_index++] = $tmp2[0]; // time of posting
}

for($i=0; $i<$msg_index; $i++)
{
     echo("<span class=\"status\">".preg_replace('!\015\012|\015|\012!','<br>',$msg[$i])."</span><br>\n
           <span class=\"date\">on ".date("d.m.Y", $t[$i])." at ".date("H:i",$t[$i])."</span><br><br>\n");

}
?>

Ich habe versucht, viele Tutorials über die letzten Tage und keiner von ihnen gearbeitet haben. Ich denke, es kann aufgrund facebook ihre api Anforderungen ändern. Dies ist die einzige, die ich gefunden, die im Moment funktioniert:

http://www.deanblog.co.uk/article/13/adding-a-facebook-status-feed-to-your-website-with-php

Verwenden Sie einfach PHPforFB Rahmen ( www.phpforfb.com/en/ ) auf dem schnellsten Weg.

Der Code sieht wie folgt aus:

require_once('phpforfb_framework.php');

$structInit = array('app_id' => APP_ID,'app_name' => APP_NAME,'sec_key' => APP_SECKEY);

$FacebookAPP = new PHPforFB($structInit);

if($FacebookAPP->lastErrorCode>0){
    //Creation failed => Display error message and exit
    echo "PHPforFB Error: ".$FacebookAPP->lastErrorCode." -> ".$FacebookAPP->lastError;
}else{
    //PHPforFB framework established

    if($FacebookAPP->userLoggedIn === TRUE){

        //If the user is logged in at Facebook:
        //Here you can determine if the user has at least once before
        //granted basic permissions to your application.
        if($FacebookAPP->userAuthenticated === FALSE){

            //The user has not yet granted permissions
            //**your code here**
        }else{
            //The user has already granted permissions, therefore his Facebook ID
            //is known to us. It is always available in $FacebookAPP->userID:

            $userID = $FacebookAPP->userID;
            //**your code here**
        }
    }
}
<?php
// see http://github.com/facebook/php-sdk/blob/master/facebook.php
require './facebook.php';
// Create our Application instance.
// see http://www.youtube.com/watch?v=jYqx-RtmkeU for how to get these numbers
$facebook = new Facebook(array('appId' => 'XXX','secret' => 'XXX'));
// This call will always work since we are fetching public data.
// this could be /username or /username/friends etc...
// see developer api for FQL for examples
$status = $facebook->api('/haanmc/feed?limit=1');
?>
<p><?php print $status['data'][0]['message']; ?></p>
<p>Likes: <?php print $status['data'][0]['likes']; ?> | Comments: <?php print count($status['data'][0]['comments']['data']); ?></p>
<textarea style="width: 95%; height: 600px;"><?php print_r($status); ?></textarea>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top