Domanda

Sto cercando una buona, semplice funzione PHP per ottenere i miei ultimi aggiornamenti di stato di Facebook. Qualcuno sa di uno?

Grazie!

EDIT:. Ho una mezza soluzione qui di seguito

Se qualcuno conosce un buon modo di leggere nel feed RSS e sputare il recente aggiornamento di stato?

È stato utile?

Soluzione 9

Dato che non ho potuto utilizzare il percorso API, sono andato con il RSS disponibili all'indirizzo: http://www.new.facebook.com/minifeed.php?filter=11

e utilizzata la seguente funzione PHP, chiamato StatusPress , con un po ' delle mie modifiche, per analizzare il feed RSS per il mio stato su Facebook. Funziona alla grande!

Altri suggerimenti

Un rapido controllo su PEAR trovato Services_Facebook

Questa è una risposta incompleta, ma questo è quello che ho ottenuto finora:

In primo luogo: aggiungere l'applicazione sviluppatore su FB . Quindi creare una nuova applicazione. Chiamatela come volete.

In secondo luogo:. scaricare il client PHP Dump da qualche parte sul tuo hosting, cioè / facebook /

Terzo: Copiare il codice seguente principiante di farti iniziato in un file php:

 <?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
 ?>

Altre info:

Spero che questo aiuta qualcuno per iniziare!

EDIT:. Sembra che FB non ti consente di accedere qualcuno lo stato, anche se l'offline_access è acceso, se non si è quella persona o il loro amico (a seconda delle loro impostazioni di privacy)

ho però, finalmente riesco a trovare il feed RSS nella nuova versione profilo: http://www.new.facebook.com/minifeed.php?filter=11

Ho trovato un modo per andare a prendere il tuo ultimo status di Facebook. Ecco come si fa:

1) Creare un app Facebook , e copiare il tuo segreto applicazione e l'applicazione id .

2) Concedere il read_stream app e offline_access al tuo profilo. ( http://developers.facebook.com/docs/authentication/permissions ) Per prendere il tuo ultimo stato l'applicazione ha bisogno di un access_token. Con offline_access concesso l'access_token dovrebbe "mai" scadenza. Il modo più semplice per farlo è quello di fare clic sul pulsante generato da questo codice: (! Essere sicuri di riempire 'l'ID applicazione' e impostare dei cookie su true)

<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) Ora provate a scoprire cosa access_token si sta usando. L'access_token viene salvato nel cookie fbs_appId. Individuare utilizzando il browser o utilizzando $_COOKIE['fbs_appId']. Cercare access_token=....

4) Ora che si dispone di una (si spera) mai in scadenza access_token è possibile utilizzare il seguente codice:

$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) La parte del messaggio deve essere posizionato: $response['data'][0]['message']

Non so per quanto tempo il token di accesso è valido. Facebook dice:

  

permette alla vostra applicazione per eseguire le richieste autorizzate sul conto dell'utente in qualsiasi momento. Per impostazione predefinita, la maggior parte dei token di accesso scadono dopo un breve periodo di tempo per garantire che le applicazioni fanno solo le richieste per conto dell'utente quando il viene utilizzato attivamente l'applicazione. Questa autorizzazione rende il token di accesso restituito dal nostro endpoint OAuth lunga durata.

Qui è una funzione molto semplice, se si desidera solo per ottenere lo stato più recente. Non dipende sul Facebook SDK o nulla. Hai solo bisogno di supporto CURL e JSON.

PHP Semplice funzione per ottenere lo status facebook

Non ho mai sembrano andare d'accordo con PEAR, ma se avete più fortuna di me, allora la soluzione PEAR sembra il percorso migliore a lungo termine.

Un'altra idea è quella di esplorare la Facebook API per sviluppatori biblioteca e vedere se questo potrebbe darvi tutto quello che stai cercando.

Infine, ha usato per essere un modo per ottenere un feed RSS ... ma non riesco a trovare tutte le istruzioni che funzionano più, ma si potrebbe frugare Facebook aiuto se che ti interessa. La mia finisce per guardare qualcosa di simile:

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

I got it lavoro utilizzando posta Jens' per recuperare un access_token valida. Poi, ho estratto i messaggi di stato e il tempo di distacco dal file XML utilizzando il seguente codice (è possibile modificare $ limite per visualizzare più o meno messaggi di stato, o utilizzare un modulo per cambiarlo).

Assicurati di inserire l'ID di Facebook e il token di accesso che hai ricevuto dal l'applicazione si è creato (vedi Jens' posta ). È possibile controllare l'output di questo script qui .

Buon divertimento!

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

}
?>

Ho provato un sacco di tutorial nel corso degli ultimi giorni e nessuno di loro hanno lavorato. Penso che possa essere dovuto a facebook cambiare le loro esigenze di api. Questo è l'unico che ho trovato che funziona in questo momento:

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

Basta usare framework PHPforFB ( www.phpforfb.com/en/ ) per il modo più veloce.

Il codice è simile al seguente:

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>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top