2012-01-22 12 views
1

FacebookのIDを使用して、自分のページを入力するすべてのfacebookユーザーを歓迎します。例:facebook user id

Hello * name *, Welcome to my page!

私はそれをPHP SDKで使用し、SDKファイルを自分のホストにコピーしようとします。それは私が使用しようとしたコードです:私はエラーを得た

<?php 
require_once 'facebook.php'; 
$facebook = new Facebook(array(
    'appId' =>'1234', 
    'secret' => '12345', 
    'cookie' => true, 
    'domain' => 'http://www.facebook.com/Guides4All.Co.IL/' 
)); 

$session = $facebook->getSession(); 
if (!$session) { 
    //user not logged into facebook 
    $uName = "Guess"; 
} else { 
    try { 
     $user_id = $facebook->getUser(); 
     $tt = "/" . $user_id; 
     $me = $facebook->api($tt); 
     $uName = $me["name"]; 
    } 
    catch (FacebookApiException $e) { 
    } 
} 
echo "Welcome $uName"; 
?> 

ナット:私はこれを修正するために何を

Fatal error: Call to undefined method Facebook::getSession() in /*****.php on line 11 

を行うことができますか? getSession()とは何ですか?今何をすべきですか?

+0

あなたが使用している 'domain'オプションは実際にはドメインではなくURLです。実際、PHP-SDKの設定オプションはありません。 –

答えて

2

まあ、基本的にはFacebook::getSession()メソッドが存在しないからです。
つまり、$session = $facebook->getSession();はうまくいきません。

Facebookオブジェクトをインスタンス化するときにセッションが既に開始されています。

コードは、新しいPHP-SDKには方法getSessionありません以上SDK located at GitHub

+0

ありがとうございます。 私は '$ session = $ facebook-> getSession();'を$ user = $ facebook-> getUser();に変更しようとしました 現在のページは動作していますが、facebook userNameを与えていません。それは私に "歓迎の推測"と言います と私は取得したい:ようこそ**名前**! これを修正するにはどうすればよいですか? ありがとうございました! –

+0

あなたが質問で提供したコードはうまくいかないので、わかりません。リンク先の例を実装してみてください。利用できる変数とその使用方法(名前を含む)を確認することができます。 – Repox

+0

このトリックを別のページで見ましたか? ユーザーの皆様を歓迎する別のページが好き –

2

で発見例のようにする必要があります。ユーザーIDを取得するには、getUserメソッドを使用する必要があります。

これを行うには、まずauthenticate userを入力する必要があります。 getLoginUrlメソッドを使用すると、ユーザーがアプリケーションに接続するために必要なURLを作成できます。

Authentication,PHP-SDKのドキュメントを読んで、examplesを掘る必要があります。

+0

ありがとうございます。 私は '$ session = $ facebook-> getSession();'を$ user = $ facebook-> getUser();に変更しようとしました 現在のページは動作していますが、facebook userNameを与えていません。それは私に "歓迎の推測"と言います と私は取得したい:ようこそ**名前**! これを修正するにはどうすればよいですか? ありがとうございました! –

+0

は、graph.facebook.comを呼び出すよりもユーザーIDを取得するだけで、JSON – Hadrian

+0

@Tomerという名前が返されます。 –

0
$facebook = new Facebook(…); 
$user = $facebook->getUser(); 
if ($user) { 
    try { 
    // Proceed knowing you have a logged in user who's authenticated. 
    $user_profile = $facebook->api('/me'); 
    } catch (FacebookApiException $e) { 
    error_log($e); 
    $user = null; 
    } 
} 

// $ user_profileそのユーザーに関するすべての情報を取得します。次に、その配列に必要なものを印刷します。

1

これは訪問ユーザーのフルネームを提供します。それは廃止されても機能します。

<div id="fb-root"></div> 
<script src="https://connect.facebook.net/en_US/all.js#appId=YOUR_APP_ID&xfbml=1"></script> 
<script> 
    window.fbAsyncInit = function() { 
    FB.init({ 
     appId: 'YOUR_APP_ID', 
     cookie: true, 
     xfbml: true, 
     oauth: true 
    }); 
    (function() { 
     var e = document.createElement('script'); e.async = true; 
     e.src = document.location.protocol + 
      '//connect.facebook.net/en_US/all.js'; 
     document.getElementById('fb-root').appendChild(e); 
    }()); 
</script> 
<fb:serverFbml><script type="text/fbml"><fb:userlink uid="loggedinuser"/></script></fb:serverFbml> 
関連する問題