0

この問題について同様のスレッドに出くわしましたが、まだ解決策を見つけていません。コードを最も単純な形式に分解しましたが、ユーザーをログインさせるのにまだ苦労しています。ログイン/権限の受け入れ後、redirect_uri が正しくリダイレ​​クトされません (URL バーに「状態」メッセージが返されます)。

<?php 
session_start();
require_once('sdk/src/facebook.php');
require_once('AppInfo.php');


$config = array(
    'appId' => '#####',
    'secret' => '########',
    'cookie' => false
);
$fb = new Facebook($config);

$user = $fb->getUser();
?>
<html> 
 <head> 
  <title>Hello Facebook</title> 
 </head> 
 <body>
<?php
if (!$user) { 
    $params = array(
        'scope' => 'read_stream',
        'redirect_uri' => 'http://localhost:8000/'
        );

        echo '<a href="'. $fb->getLoginUrl($params).'">Login</a>'; 
}
else { 
?>

<p> Hello World! </p>
<?php echo 'hello world!';
        echo 'value of user: '. $user;
        $params = array( 'next' => 'http://localhost:8000'
                        );
        echo '<a href="'.$fb->getLogoutUrl().'">Logout</a>'; 
?>
 </body> 
</html>

サイト URL の開発者内の設定は同じです (http://localhost:8000/)。サンドボックス モードは無効です。AppId と AppSecret は間違いなく正しいです。いくつかのFBアカウントを使用して、chrome、firefox、IEで試しました。$user が true になることはないようです。

4

1 に答える 1

0

Facebook PHP SDKの最新バージョンを使用していますか? 使用できるバージョンがいくつかありますが、その多くは v2 です。プロジェクトに v3 ダウンロードがあることを確認してください。

アプリが Facebook で正しく構成されていることを確認するには、Facebook gitHub のこのexample.phpを使用してテストします。

于 2012-12-16T23:36:46.267 に答える