この問題について同様のスレッドに出くわしましたが、まだ解決策を見つけていません。コードを最も単純な形式に分解しましたが、ユーザーをログインさせるのにまだ苦労しています。ログイン/権限の受け入れ後、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 になることはないようです。