2012-03-18 15 views
0

トークンFacebookのアクセスを取得する:私は次の文字列を要求することにより、グラフAPIを使用して私のアプリのアクセストークンを取得しようとしている

https://graph.facebook.com/oauth/authorize?type=user_agent&client_id=app_id&redirect_uri=canvas_page&scope=read_friendlists

これはにリダイレクト:canvas_page /#access_tokenは= xxxは& expires_in = 4124 & code = A ...

しかし、これをPHPでどのように解析できるかわからないので、最終的に友人リストを取得するためにjsonのリクエストを行うことができます。

私はあなたが私を導くことができるかもしれ願っています:)

+0

あなたは、JSONの結果を解析したいですか? – safarov

答えて

0

あなたはFacebookのPHP SDKを使用していいただきありがとうございますか! https://github.com/facebook/php-sdk

あなたはこのようにそれを使用することができます:

$facebook = new Facebook(array(
    'appId' => 'your_app_id', 
    'secret' => 'your_app_secret', 
)); 

// Get User ID 
$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; 
    } 
} 

if ($user) { 
    $logoutUrl = $facebook->getLogoutUrl(); 
} else { 
    $loginUrl = $facebook->getLoginUrl(); 
} 

ユーザーが、彼らはまだ行っていない場合には、アプリケーションを承認します]をクリックする必要がリンクを作るために$ loginUrlを使用することができます

次に、あなたは、このようなグラフAPIへの呼び出しを行うことができます。

$friends = $facebook->api('/user_id/friends'); 
+0

私はあなたが提案したコードを使用していますが、api(...私はエラーが発生します: 致命的なエラー:非オブジェクトのメンバ関数api()を呼び出してください... – JPJens

+0

それはいくつかの愚かなコーディング 私はphp-sdkが非推奨になると言われていますので、それを扱うのが最良ではないと思いますか? しかし、あなたの返事に感謝します:) – JPJens

0

あなたは以下の次のコードを使用することができます。それは私のために働いた。

まず、あなたが探しているものである必要があり、ここでhttps://github.com/facebook/php-sdk

function facebook_oauth_init($facebook_app_id, $facebook_app_secret, $cookie = false) 
{ 
    $facebook = new Facebook(array("appId" => $facebook_app_id, "secret" => $facebook_app_secret, 
     "cookie" => $cookie)); 
    return $facebook; 
} 

$fb_app_id = "YOUR_APP_ID"; 
$fb_app_secret = "YOUR_APP_SECRET"; 
$fb_user_id = "YOUR_USER_ID"; 
$fb_access_token = "YOUR_GIVEN_ACCESS_TOKEN"; 

$facebook = facebook_oauth_init($fb_app_id, $fb_app_secret); 
$accounts = $facebook->api('/' . $fb_user_id . '/accounts', 'get', array('access_token'=>$fb_access_token)); 
$accounts = $accounts['data']; 

$access_token_2 
foreach($accounts as $acc) 
{ 
    if($fb_page_id == $acc['id']) 
    { 
     $access_token_2 = $acc['access_token']; 
     break; 
    } 
} 

"$のaccess_token_2" からFacebookのSDKをダウンロードする必要があります。

これが役に立ちます。

ムハンマド。

関連する問題