PHP-Funktion Facebook-Status zu bekommen?

stimmen
9

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

Vielen Dank!

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

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

Veröffentlicht am 20/12/2008 um 22:44
quelle vom benutzer
In anderen Sprachen...                            


10 antworten

stimmen
6

Eine schnelle Überprüfung auf PEAR gefunden Services_Facebook

Beantwortet am 20/12/2008 um 22:53
quelle vom benutzer

stimmen
1

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

Eine weitere Idee ist es, die erkunden Facebook Entwickler API - Bibliothek und sehen , ob das könnte dir alles geben Sie suchen.

Schließlich gibt einen RSS-Feed verwendet einen Weg, um 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

Beantwortet am 20/12/2008 um 23:09
quelle vom benutzer

stimmen
3

Dies ist eine unvollständige Antwort, aber das ist, was ich so weit gekommen:

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

Zweitens: Laden Sie das PHP - Client. 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
 ?>

Andere Information:

  • 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 , indem Sie in der folgenden URL hinzufügen offline_access: 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 mein Programm ruft die FQL Abfrage oder users_getInfo, meine Seite stoppt die PHP-Ausführung? Ich vermute, es nur eine begrenzte Anzahl der Anrufe für neue Anwendungen ist? Ich habe nie eine FB Entwicklung getan, damit ich es ganz neu bin. Vielleicht übermäßige Anrufe an die API machen den Anruf und speichern Sie Ihren letzten Status (oder letzte Statusmeldungen) in der eigenen DB zu verhindern?

Ich hoffe, das hilft jemand loszulegen!

EDIT: Es scheint , dass FB lassen Sie nicht jemandes Status zugreifen, auch wenn die offline_access eingeschaltet ist, wenn Sie diese Person oder deren Freund ( in Abhängigkeit von ihrer Privatsphäre - Einstellungen) sind.

Ich aber habe, verwalten schließlich den RSS - Feed in der neuen Profil - Version zu finden: http://www.new.facebook.com/minifeed.php?filter=11

Beantwortet am 21/12/2008 um 10:03
quelle vom benutzer

stimmen
0

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

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

Beantwortet am 04/01/2009 um 20:35
quelle vom benutzer

stimmen
0
<?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>
Beantwortet am 23/04/2010 um 16:29
quelle vom benutzer

stimmen
2

Ich habe einen Weg gefunden, Ihren neuesten Facebook-Status zu holen. Das ist wie man es macht:

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

2) Gewähren Sie den App read_stream und offline_access Ihr Profil. ( Http://developers.facebook.com/docs/authentication/permissions ) Um Ihren aktuellen Status holt die 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: (unbedingt in ‚App - ID‘ und setzen Cookie auf true 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 verwenden $_COOKIE['fbs_appId']. Suchen Sie nach access_token=....

4) Nachdem Sie nun ein (hoffentlich haben) nie abläuft access_token Sie können 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) Der Nachrichtenteil ist zu finden: $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.

Beantwortet am 27/04/2010 um 09:56
quelle vom benutzer

stimmen
1

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 extrahierte den folgenden Code verwenden (können Sie $ Limit zu ändern, um mehr oder weniger Statusmeldungen angezeigt werden, oder ein Formular verwenden, um es zu ändern).

Achten Sie darauf , 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 .

Habe 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");

}
?>
Beantwortet am 01/09/2010 um 22:02
quelle vom benutzer

stimmen
2

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 zu erhalten

Beantwortet am 09/11/2010 um 21:57
quelle vom benutzer

stimmen
1

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

Beantwortet am 16/06/2011 um 13:19
quelle vom benutzer

stimmen
1

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**
        }
    }
}
Beantwortet am 20/02/2012 um 20:10
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more