2010-12-13 4 views
2

J'ai une page de fan sur Facebook et je voudrais montrer un message de Noël aux personnes qui aiment la page.Afficher le nom de l'utilisateur sur l'onglet Facebook Page

L'idée est:

si l'utilisateur aime la page> disent: « Joyeux Noël prenom » si l'utilisateur n'aime pas la page> afficher un message générique

Je pensais que je serais en mesure d'obtenir le 1er nom de l'utilisateur à afficher juste cela, puisque je ne veux rien stocker, mais jusqu'à présent, pas de succès.

Mon code est:

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; 

Mais tout ce qu'il fait écho est: "Joyeux Noël x x 106998XX369535"

Lorsque le nombre est id de la page, pas l'identifiant de l'utilisateur.

Y at-il un moyen de le faire sans demander la permission de l'utilisateur?

Merci pour votre aide

Répondre

1

J'ai trouvé la réponse.

Utilisez simplement: pour afficher le nom de l'utilisateur sur une application TAB/Canvas.

Il fonctionne également dans l'application Static FBML.

Rédaction:

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

montrera:

Merry Christmas John Smith 

si John Smith consulte :) il

Le nom sera formaté comme un lien, mais vous pouvez le dénommer avec CSS.

+0

"Cette méthode a été abandonnée." d'après http://developers.facebook.com/docs/reference/fbml/userlink – jamietelin

+0

Oui, c'est pourquoi je ne l'ai pas testé en 1ère place, mais ça marche très bien. Allez comprendre ... – Andre

+0

Cela ne fonctionne plus. – Bit68

2

Vous ne pouvez pas obtenir des informations sur l'utilisateur à moins que l'utilisateur donne l'autorisation. Malheureusement. Mais avec "OAuth 2.0 pour Canvas", vous recevez un POST signé_request. Et c'est la seule façon de s'y prendre; http://developers.facebook.com/docs/authentication/canvas

Mais l'utilisateur doit toujours autoriser votre application.

+0

Alors, qu'est-ce que ? – Andre

+0

Eh bien, vous pouvez obtenir des informations sur un utilisateur aussi longtemps que cet utilisateur a donné l'autorisation de le faire, en d'autres termes si un utilisateur a accepté/permis votre application. – jamietelin

+0

merci pour votre aide. Je l'ai résolu d'une autre manière et posté la réponse ici. acclamations – Andre

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