2012-03-27 4 views
2

Hintergrund: Ich mache eine Facebook-App, wo Benutzer Nachrichten wie in einem Forum posten. Dazu speichere ich die Facebook-ID der Benutzer, um sie dann zu präsentieren. Ich weiß, dass es möglich ist, den Namen aus einer Facebook-ID heraus zu zeigen, indem ich die Graph-API benutze, aber ich kann es nicht funktionieren lassen.Einen Facebook-Namen aus einer fb-ID holen - file_get_contents() funktioniert nicht

Der Code ich verwende, ist die folgende:

//$fbId is the facebook id to find out the name for 

$facebookUrl = "https://graph.facebook.com/".$fbId; 
echo(file_get_contents($facebookUrl)); 
$str = file_get_contents($facebookUrl); 
$result = json_decode($str); 
echo($result); 
return $result->name; 

ich recherchiert und getestet dies stundenlang, aber ich fühle mich wie ich nirgendwo bekommen werde. Ich habe eine Vorstellung davon, wie es funktioniert aus:

http://www.phpexpertsforum.com/how-to-get-the-facebook-name-with-user-id-using-php-code-t1852.html

nicht funktioniert, so habe ich recherchiert weiter von hier:

Get user's name from Facebook Graph API

I dowloaded und zur Zeit verwenden, um den Facebook PHP SDK, aber Ich finde den Weg nicht, um den Namen eines anderen als den aktuellen Benutzer zu verwenden. Das Problem scheint hier die Funktion file_get_contents() zu sein, die ein false zurückgibt, was bedeutet, dass sie die Datei nicht lesen kann. Ich habe die PHP-Dokumentation ausgecheckt. Auch mit den PHP-Funktionen fopen() und file().

//echo(pathinfo($facebookUrl, PATHINFO_EXTENSION)); -> Doesn't give any response! 
//echo(file_exists($facebookUrl)); -> No response! 
//fopen() doesn't work 
//file() doesn't work 
//file_get_contents() doesn't work 
//tried adding an access token to the $facebookUrl but it doesn't make any difference 

Irgendeine Idee von was könnte hier falsch sein? Wenig Beratung wäre sehr hilfreich. Was mache ich falsch? Was habe ich verpasst?

Antwort

2

Scheint, dass Ihre Anweisung allow_url_fopen auf Aus gesetzt ist.

Suchen Sie in Ihrer php.ini (oder erstellen Sie eine PHP-Datei mit <?php phpinfo(); ?> und zeigen Sie in Ihrem Browser darauf), und prüfen Sie, ob auf 'On' gesetzt ist.

+0

Sie haben Recht. Ich überprüfe die Dokumentation für meinen Domain-Anbieter und es scheint, dass sie es ausgeschaltet haben. Sie haben mir eine benutzerdefinierte Funktion file_get_url_contents() zur Verfügung gestellt, aber es hat ein Protokollproblem, also werde ich es mit ihnen lösen. Vielen Dank für das Feedback – Shaffa