Funcția PHP pentru a obține statutul de Facebook?

voturi
9

Caut un bun, simplu funcția PHP pentru a obține cele mai recente actualizări de stare pe Facebook meu. Oricine știe de unul?

Mulțumiri!

EDIT: Am adăugat o jumătate de soluție de mai jos.

Sau, dacă cineva știe un bun mod de a citi în feed-ul RSS și scuipe recentă actualizare de stare?

Întrebat 20/12/2008 la 22:44
sursa de către utilizator
În alte limbi...                            


10 răspunsuri

voturi
6

O verificare rapidă pe PEAR găsit Services_Facebook

Publicat 20/12/2008 la 22:53
sursa de către utilizator

voturi
1

N-am par pentru a obține, împreună cu PERE, dar dacă aveți mai mult noroc decât mine, atunci soluția PEAR pare cel mai bun traseu pe termen lung.

O altă idee este de a explora Facebook API pentru dezvoltatori bibliotecă și a vedea dacă s-ar putea da ceva pe care il cautati.

În sfârșit, folosit pentru a fi o modalitate de a obține un feed RSS ... dar nu pot par să găsească orice instrucțiuni care mai funcționează, dar s-ar putea scormoni în jurul valorii de Facebook ajutor în cazul în care vă interesează. Al meu va arăta în final ceva de genul asta:

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

Publicat 20/12/2008 la 23:09
sursa de către utilizator

voturi
3

Acesta este un răspuns incomplet, dar asta este ceea ce am ajuns până acum:

În primul rând: adăugați aplicația dezvoltator pe FB . Apoi , creați o nouă cerere. Spune-i cum vrei.

În al doilea rând: Descarcă clientul PHP. Dump - l undeva pe providerul, și anume / Facebook /

În al treilea rând: Copiați codul următor începător pentru a vă început într-un fișier 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
 ?>

Alte informații:

  • Trebuie să fii autentificat și au adăugat aplicația. SAU da permisiunile offline_access de aplicare și au adăugat aapplication.
  • Puteți adăuga offline_access prin tastarea în următoarea adresă URL: http://www.facebook.com/authorize.php?api_key=YOUR_API_KEY&v=1.0&ext_perm=offline_access
  • mai multe informații despre permisiunile găsite aici: http://wiki.developers.facebook.com/index.php/Extended_permissions
  • Sunt la un punct de oprire: orice programul meu solicită interogarea FQL sau users_getInfo, pagina mea se oprește executarea php? Cred că există un număr limitat de apeluri pentru aplicații noi? N-am făcut nici o dezvoltare FB așa că sunt complet noi pentru el. Poate face apel și de a salva starea recentă (sau cele mai recente statusuri) în propria DB pentru a preveni apelurile excesive către API?

Sper că acest lucru ajută cineva începe!

EDIT: Se pare că FB nu va permite accesul cuiva starea, chiar dacă offline_access este activată, cu excepția cazului în care sunteți persoana sau prietenul lor ( în funcție de setările de confidențialitate ale acestora).

Am făcut cu toate acestea, în cele din urmă reușesc să găsească feed -ul RSS în noua versiune profil: http://www.new.facebook.com/minifeed.php?filter=11

Publicat 21/12/2008 la 10:03
sursa de către utilizator

voturi
0

Din moment ce nu am putut folosi traseul API, m - am dus cu RSS găsite la: http://www.new.facebook.com/minifeed.php?filter=11

Și a folosit următoarea funcție PHP, numit StatusPress , cu unele dintre propriile mele modificări, pentru a analiza RSS feed pentru starea mea de Facebook. Lucrari de mare!

Publicat 04/01/2009 la 20:35
sursa de către utilizator

voturi
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>
Publicat 23/04/2010 la 16:29
sursa de către utilizator

voturi
2

Am găsit o modalitate de a prelua cea mai recentă stare facebook. Acesta este modul în care o faci:

1) Creați o aplicație facebook , și copiați secretul de aplicații și id - ul aplicației.

2) acordă read_stream aplicației și offline_access la profilul tau. ( Http://developers.facebook.com/docs/authentication/permissions ) Pentru a prelua cea mai recentă stare a aplicației are nevoie de o ACCESS_TOKEN. Cu offline_access acordat ACCESS_TOKEN ar trebui să „nu“ expiră. Cel mai simplu mod de a face acest lucru este să faceți clic pe butonul generat de acest cod: (asigurați - vă că pentru a umple „id - ul aplicației“ și setați cookie la 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) Acum încearcă să afle ce ACCESS_TOKEN - l folosește. ACCESS_TOKEN este salvat în cookie fbs_appId. Localizați - l folosind browser - ul sau folosind $_COOKIE['fbs_appId']. Uita - te pentru access_token=....

4) Acum, că aveți o (sperăm) nu expiră ACCESS_TOKEN puteți folosi următorul cod:

$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) Partea mesajului trebuie să fie amplasate: $response['data'][0]['message']

Nu știu cât de mult timp token-ul de acces este valid. Facebook spune:

Permite aplicației să efectueze cereri autorizate în numele utilizatorului, în orice moment. În mod implicit, cele mai multe token-uri de acces expiră după o scurtă perioadă de timp pentru a se asigura cererile de a face solicitări numai în numele utilizatorului, atunci când se utilizează în mod activ aplicația. Această permisiune face ca token-ul de acces returnat de terminalul nostru OAuth a trăit lung.

Publicat 27/04/2010 la 09:56
sursa de către utilizator

voturi
1

Am luat-o de lucru folosind post-Jens' pentru a prelua un ACCESS_TOKEN valid. Apoi, am extras mesajele de stare și timpul de a posta din fișierul XML folosind următorul cod (puteți schimba $ limita pentru a afișa mai multe sau mai puține mesaje de stare, sau de a folosi un formular pentru a schimba).

Asigurați - vă că pentru a pune în ID - ul Facebook și accesul Indicativul ai primit de la aplicația pe care ați creat -o (vezi post - Jens' ). Puteți verifica ieșirea acestui script aici .

A se distra!

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

}
?>
Publicat 01/09/2010 la 22:02
sursa de către utilizator

voturi
2

Aici este o funcție foarte simplu, dacă doriți doar pentru a obține cea mai recentă stare. Aceasta nu depinde de Facebook SDK-ul sau ceva. Ai nevoie doar de sprijin FLEXIE și JSON.

Simplu funcția PHP pentru a obține statutul de Facebook

Publicat 09/11/2010 la 21:57
sursa de către utilizator

voturi
1

Am încercat o mulțime de tutoriale în ultimele câteva zile și nici unul dintre ei au lucrat. Cred că poate fi din cauza facebook schimbarea cerințelor lor api. Aceasta este singura pe care am constatat că funcționează în acest moment:

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

Publicat 16/06/2011 la 13:19
sursa de către utilizator

voturi
1

Doar folosi cadru PHPforFB ( www.phpforfb.com/en/ ) pentru cel mai rapid mod.

Codul arata ca acest lucru:

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**
        }
    }
}
Publicat 20/02/2012 la 20:10
sursa de către utilizator

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