2010-12-13 3 views
2

У меня есть страница поклонника на Facebook, и я хотел бы показать рождественское сообщение людям, которым нравится эта страница.Показать имя пользователя на Facebook Вкладка страницы

Идея такова:

если пользователь любит страницу> говорит: «С Рождеством First_name» , если пользователю не нравится страница> показать общее сообщение

Я думал, что я был бы в состоянии получить первое имя пользователя, чтобы отобразить только это, так как я не хочу ничего хранить, но до сих пор не удался.

Мой код:

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; 

Но все это перекликается является: «С Рождеством х х 106998XX369535»

Если номер страницы, идентификатор, а не идентификатор пользователя.

Есть ли способ сделать это, не спрашивая разрешения пользователя?

Спасибо за вашу помощь

ответ

1

Я нашел ответ.

Просто используйте: чтобы показать имя пользователя в приложении TAB/Canvas.

Он также работает в приложении Static FBML.

Запись:

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

Покажет:

Merry Christmas John Smith 

если Джон Смит просматривает его :)

Имя будет отформатированный как ссылку, но вы можете стиль его CSS.

+0

«Этот метод устарел». в соответствии с http://developers.facebook.com/docs/reference/fbml/userlink – jamietelin

+0

Да, поэтому я не тестировал его на первом месте, но он работает очень хорошо. Go figure ... – Andre

+0

Это больше не работает. – Bit68

2

Вы не можете получить любую информацию о пользователе, если пользователь не дает разрешения. К сожалению.

Но с «OAuth 2.0 for Canvas» вы получаете POST подписанного_запроса. И этот путь - единственный способ сделать это; http://developers.facebook.com/docs/authentication/canvas

Но пользователю по-прежнему необходимо авторизовать ваше приложение.

+0

И что такое for? – Andre

+0

Ну, вы можете получить информацию о пользователе, если этот пользователь дал разрешение на это, другими словами, если пользователь принял/разрешил ваше приложение. – jamietelin

+0

Благодарю вас за помощь. Я решил это по-другому и разместил здесь ответ. ура – Andre

0
$json = file_get_contents("http://graph.facebook.com/$uid"); 
$fdata = json_decode($json); 
$fname = $fdata->name; 
echo 'Merry Christmas x ' . $fname . ' x '; 
Смежные вопросы