2010-12-13 13 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; 

しかし、それはエコーすべてがある::

私のコードは "メリークリスマスX X 106998XX369535" 数はページのidではなく、ユーザーのIDです

ユーザーの許可なしにこれを行う方法はありますか?

は、ユーザーが許可を与える場合を除きあなたはユーザーに関する情報を得ることができないあなたの助け

答えて

1

私は答えを見つけました。

TAB/Canvasアプリでユーザーの名前を表示するだけで使用できます。

これはStatic FBMLアプリ内でも動作します。

執筆:

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

が表示されます:

Merry Christmas John Smith 

をジョン・スミスはそれを見ている場合:)

を名前がリンクとしてフォーマットされますが、あなたがそれをスタイルすることができますCSS。

+0

"このメソッドは廃止されました。" – jamietelin

+0

私は1位でテストしなかったのですが、本当にうまく動作します。 Go figure ... – Andre

+0

これはもう動作しません。 – Bit68

2

いただきありがとうございます。残念ながら。

しかし、 "OAuth 2.0 for Canvas"では、signed_request POSTが表示されます。そして、このやり方だけがこれを巡る唯一の方法です。 http://developers.facebook.com/docs/authentication/canvas

しかし、ユーザーは依然としてアプリケーションを承認する必要があります。

+0

は何ですか? – 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 '; 
関連する問題