2010-12-13 5 views
2

Ich habe eine Fan-Seite auf Facebook und möchte den Leuten, die die Seite mögen, eine Weihnachtsbotschaft zeigen.Benutzername des Benutzers auf Facebook Page Tab

Die Idee ist:

wenn Benutzerseite mag> sagen: „Merry Christmas first_name“ , wenn der Benutzer die Seite nicht wie> zeigen allgemeine Meldung

Ich dachte, ich wäre in der Lage zu bekommen der erste Name des Benutzers, um genau das anzuzeigen, da ich nichts speichern möchte, aber bisher keinen Erfolg.

Mein Code ist:

require 'facebook.php'; 

$facebook = new Facebook(array(
    'appId' => 'xx', 
    'secret' => 'xx', 
    'cookie' => true, 
)); 

$session = $facebook->getSession(); 

$me = null; 

if ($session) 
{ 
    try 
    { 
    $uid = $facebook->getUser(); 
    $me = $facebook->api('/me'); 
    } 
    catch (FacebookApiException $e) 
    { 
    error_log($e); 
    } 
} 

$name = $me['first_name']; 

echo 'Merry Christmas x ' . $name . ' x ' . $uid; 

Aber es klingt ist: "Frohe Weihnachten x x 106998XX369535"

Wenn die Anzahl der ID-Seite ist, nicht die ID des Benutzers.

Gibt es eine Möglichkeit, dies zu tun, ohne die Erlaubnis des Benutzers zu fragen?

Vielen Dank für Ihre Hilfe

Antwort

1

Ich habe die Antwort gefunden.

Verwenden Sie einfach: um den Namen des Benutzers in einer TAB/Canvas App anzuzeigen.

Es funktioniert auch innerhalb der statischen FBML-App.

Schreiben:

Merry Christmas <fb:userlink uid="loggedinuser"/> 

zeigt:

Merry Christmas John Smith 

wenn John Smith ist es sehen :)

Der Name als Link formatiert wird, aber man kann es mit Stil CSS.

+0

"Diese Methode ist veraltet." nach http://developers.facebook.com/docs/reference/fbml/userlink – jamietelin

+0

Ja, deshalb habe ich es nicht an erster Stelle getestet, aber es funktioniert wirklich gut. Go figure ... – Andre

+0

Das funktioniert nicht mehr. – Bit68

2

Sie können keine Informationen über den Benutzer erhalten, wenn der Benutzer die Erlaubnis gibt. Unglücklicherweise.

Aber mit "OAuth 2.0 for Canvas" erhalten Sie einen signed_request POST. Und auf diese Weise kann man nur so vorgehen; http://developers.facebook.com/docs/authentication/canvas

Aber Benutzer muss noch Ihre Anwendung autorisieren.

+0

Also was ist ? – Andre

+0

Nun, Sie können Informationen über einen Benutzer erhalten, solange dieser Benutzer die Erlaubnis dazu gegeben hat, mit anderen Worten, wenn ein Benutzer Ihre Anwendung akzeptiert/erlaubt hat. – jamietelin

+0

danke für Ihre Hilfe. Ich habe es auf andere Weise gelöst und die Antwort hier gepostet. Prost – Andre

0
$json = file_get_contents("http://graph.facebook.com/$uid"); 
$fdata = json_decode($json); 
$fname = $fdata->name; 
echo 'Merry Christmas x ' . $fname . ' x '; 
Verwandte Themen