2012-01-05 11 views
1

私は現在ログインしているユーザーのfacebookユーザーIDを取得しようとしています。 私はこれを以下のコードを使用しています:「キャッチされていないOAuthException:現在のユーザー」facebookの現在のユーザーに関する情報

require '../src/facebook.php'; 
$facebook = new Facebook(array(
    'appId' => '226668060741665', 
    'secret' => 'secret key', 
)); 

$rr=$facebook->getAccessToken(); 

$params = array(
'access_token' => $rr, 
'installed' => 'true', 
'permissions' => 'read_stream,publish_stream' 
); 
$eded=$facebook->api("/me/", "GET", $params); 

は私がFacebook::getLoginStatusUrl()を使用しようとしたが、それが返すものを得るdidntの。 私は機能の上に使用することができた場合は、ユーザーに現在のログに記録されたのIDを取得する方法を教えてとどのように私は事前

答えて

0

Facebook::getLoginStatusUrl()

感謝の戻り値を使用することができますあなたが最近PHP-SDKを使用している番組のドキュメントを読んでくださいしてください正確にどのようにauthenticateユーザーとget his details。あなたは既に存在している必要

正確な答えはPHP-SDK examples

にあなたは、あまりにもあなたの質問への答えを持ってGet ID from Facebook PHP SDKに疑問を参照することができます。

+0

私は新しいphp-sdkのみを使用しています。 – manojkumar

+1

私の答えで最後のリンクをたどったのですか?早くやれよ! –

0

次の手順に従います。

  1. は、URLを生成します。$next_url = $facebook->getLoginStatusUrl();
  2. はこのURLにユーザーをリダイレクト:header('Location: '.$next_url);
  3. ユーザーがログイン状態
  4. についてのセッション情報をFBで返されます
  5. SDKは返された情報を解析します。
  6. $facebook->getUser();を使用してaccess_tokenとuseridを取得します(ログインした場合)

これまでのところとても良いです。唯一の問題はFacebook APIによるoAuth2.0への移行以来、この機能(ポイント4)が壊れていることです。このバグレポートも参照してください:http://developers.facebook.com/bugs/295348980494364

返された$ _GET ['session']は新しいoAuth2 .0 SDKでは、古いPHP-SDK v2(現在は3.1.1)で使用されていました。

FBに、再生を追加することで同じ問題があることをお知らせください。

乾杯!

関連する問題