2011-01-28 12 views
0

'を結ぶ' 悩みを持ってここで私がテストしてきたコードです:のFacebookのJavaScript API -

<?php 
$accessToken = file_get_contents('https://graph.facebook.com/oauth/access_token?client_id=APP_ID&client_secret=APP_SECRET&grant_type=client_credentials'); 
$accessToken = explode('=', $accessToken); 
$accessToken = $accessToken[1]; 
?> 
<div id="fb-root"></div> 

<script> 
window.fbAsyncInit = function() 
{ 
    FB.init({ 
     appId: 'APP_ID', 
     status: true, 
     cookie: true, 
     xfbml: true 
    }); 

    FB.api('/me?access_token=<?php echo $accessToken; ?>', function(user) 
    { 
     if (user != null) 
     { 
      console.log(user); 
     } 
    }); 
}; 

(function() 
{ 
    var e = document.createElement('script'); 
    e.type = 'text/javascript'; 
    e.src = document.location.protocol + '//connect.facebook.net/en_GB/all.js'; 
    e.async = true; 

    document.getElementById('fb-root').appendChild(e); 
}()); 
</script> 

私は次のエラーが返さ取得しています:

An active access token must be used to query information about the current user. 

私は自分のサイトのURLを登録しました私のID /シークレットを取得するFacebookと私は登録時に指定したディレクトリ内で上記のスクリプトを実行しています。

私は間違っていますか?

答えて

0

アクセストークンを取得するために古いAPI APIを使用していると思います。

 
define('FACEBOOK_APP_ID', 'Your API ID'); 
define('FACEBOOK_SECRET', 'YOUR SECRET'); 
function get_facebook_cookie($app_id, $application_secret) 
{ 
    $args = array(); 
    parse_str(trim($_COOKIE['fbs_' . $app_id], '\\"'), $args); 
    ksort($args); 
    $payload = ''; 
    foreach ($args as $key => $value) 
    { 
     if ($key != 'sig') 
     { 
      $payload .= $key . '=' . $value; 
     } 
    } 
    if (md5($payload . $application_secret) != $args['sig']) 
    { 
     return null; 
    } 
    return $args; 
} 
$cookie = get_facebook_cookie(FACEBOOK_APP_ID, FACEBOOK_SECRET); 
$name=json_decode(file_get_contents('https://graph.facebook.com/me?access_token='.$cookie['access_token'])); 

私はそのpretteyシンプル

1

あなたはApp access_tokenとユーザー情報にアクセスしようとし、ここで物事を混合していると思います!

Authentication documentUser loginセクションをお読みください。また、私は強くを使用することをお勧めしますFacebook PHP-SDK、ここでライブラリはすべての認証と認可の交換プロセスを世話します。

+1

私は2番目に、FacebookのPHPが良い方法です! – Ravikiran

関連する問題