Anzahl der likes von Facebook auslesen

Gray

Erfahrenes Mitglied
Hi,

ich möchte nur die Anzahl der "likes" von einem Facebook Account haben.

Ich habe versucht den Code der normalerweise für das IFrame verwendet wird per Include bzw. per cURL zu laden. Aber bei cURL bekomm ich keine Ausgabe und beim Include wird mir gesagt das Facebook nicht cool genug für meinen Browser ist.

Gibt es eine Möglichkeit diesen Wert auszulesen?

Ich will im Endeffekt nur die Zahl haben von den Leuten dennen das Gefällt.

Danke
 
Hey!

Du willst die Likes von einem FB-Account? Gibts sowas?

Also falls du die Likes von einer Seite haben willst, hab ich hier eine Funktion geschrieben:
PHP:
function getFBLikes($page)
{
  
  $pageinfo = trim(file_get_contents("https://graph.facebook.com/".$page));
  #echo $pageinfo."<br ><br>\n";
  
  $pageinfo = substr($pageinfo, 2, strlen($pageinfo) - 3);
  $pageinfo2 = explode('","', $pageinfo);
  
  $pageinfo = array();
  
  foreach($pageinfo2 as $info)
  {
    #echo $info."<br />\n";
    $info = explode("\":", trim($info));
    if(substr($info[1], 0, 1) == "\"")
      $info[1] = substr($info[1], 1);
    $pageinfo[$info[0]] = $info[1];
  }
  
  #echo "<br ><br>";
  #print_r($pageinfo);
  #echo "<br ><br>";
      
  return $pageinfo["likes"];
}

Für den Aufruf einfach:
PHP:
echo "Likes: ".getFBLikes("tutorials.de");

Als Parameter den Namen der Seite aus der Adresszeile kopieren!

greez
THEJS
 
Zuletzt bearbeitet:
hallo, da ich auch ner suche nach so nen Script bin. habe ich das jetz kopiert und ausprobiert, im Browser zeigt a dann an :

Warning: file_get_contents() [function.file-get-contents]: Unable to find the wrapper "https" - did you forget to enable it when you configured PHP? in C:\xampp\htdocs\viki\curltw.php on line 8

Warning: file_get_contents(https://graph.facebook.com/tutorials.de) [function.file-get-contents]: failed to open stream: Invalid argument in C:\xampp\htdocs\viki\curltw.php on line 8

Notice: Undefined offset: 1 in C:\xampp\htdocs\viki\curltw.php on line 20

Notice: Undefined offset: 1 in C:\xampp\htdocs\viki\curltw.php on line 22

Notice: Undefined index: likes in C:\xampp\htdocs\viki\curltw.php on line 29
Likes:
 
Die ersten beiden Warning stellen die eigentlichen Fehler dar, der Rest ist wegen der unsauberen Art und Weise, wie das Script mit Fehlern umgeht.

Die Meldung

Warning: file_get_contents() [function.file-get-contents]: Unable to find the wrapper "https"

gibt den Hinweis auf das Problem. Die Funktion file_get_contents() konnte den Inhalt von der URL nicht abholen, da sie mit dem Protokoll HTTPS nicht umgehen kann.

Du hast jetzt zwei Möglichkeiten:

1. Du versucht es mit curl. Wenn du Fragen dazu hast, kann man dir weiter helfen.
2. Du liest dich in die Facebook API ein und machst es über die dokumentierte Schnittstelle. (https://developers.facebook.com/docs/reference/api/)
 
danke,,,, also anstatt fgc..ersetz ich es durch curl.. wäre curl_setup gut ?

$pageinfo = trim(file_get_contents("https://graph.facebook.com/".$page));
#echo $pageinfo."<br ><br>\n";

$pageinfo = substr($pageinfo, 2, strlen($pageinfo) - 3);
$pageinfo2 = explode('","', $pageinfo);
 
Ich kenne curl_setup nicht. Meintest du evtl. curl_setopt()? Wenn ja, genau, das brauchst du auch.

Ich würde es mal so versuchen:

PHP:
$pageinfo = "";

// CURL initialisieren
$ch = curl_init();
if( $ch )
{
  // HTTP-URL setzen
  curl_setopt($ch, CURLOPT_URL, "https://graph.facebook.com/");
  // CURL sagen, wir wollen den Inhalt der Seite haben
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  // Einen User-Agent vorgaukeln
  curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:18.0) Gecko/20100101 Firefox/18.0');
  // Request ausführen
  $pageinfo = curl_exec($ch);
  // CURL beenden
  curl_close( $ch );
}

//... $pageinfo könnte jetzt den Inhalt der Seite beinhalten ....
 
Hallo, hab´s ausprobiert aber er zeigt mir kein ergebnis an.. nur likes:
PHP:
<?

$page = "http://www.news.at";
echo "likes: ".getFBLikes($page);  


function getFBLikes($page)
{

$pageinfo = "";
 
// CURL initialisieren
$ch = curl_init();
if( $ch )
{
  // HTTP-URL setzen
  curl_setopt($ch, CURLOPT_URL, "https://graph.facebook.com/");
  // CURL sagen, wir wollen den Inhalt der Seite haben
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  // Einen User-Agent vorgaukeln
  curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:18.0) Gecko/20100101 Firefox/18.0');
  // Request ausführen
  $pageinfo = curl_exec($ch);
  // CURL beenden
  curl_close( $ch );
}
return $pageinfo["likes"];
 }
//... $pageinfo könnte jetzt den Inhalt der Seite beinhalten ....


?>
 
Zuletzt bearbeitet:
Wenn ich den Code oben mit dem von dir vergleiche, fehlt irgendwie noch, das $page irgendwo an Facebook übergeben wird. Das könnte so funktionieren:

PHP:
curl_setopt($ch, CURLOPT_URL, "https://graph.facebook.com/$page");

EDIT: Bitte verwende die Code-Tags [code=php][/code], sonst kann man deinen Code so schlecht lesen.
 

Neue Beiträge

Zurück