Internet Explorer での Facebook 認証に問題があります。このコードは、Firefox、Chrome、Safari では機能しますが、IE では機能しません。
loginUrl で href をクリックすると、このメッセージが表示されます (IE でのみ、それ以外は問題ありません)。
致命的なエラー: OAuthException がキャッチされていません: 現在のユーザーに関する情報を照会するには、アクティブなアクセス トークンを使用する必要があります。/data/web/virtuals/30096/virtual/www/qcomp/libs/base_facebook.php の 1238 行目にスローされます
これが私のコードです:
session_start();
define('APP_ID', 'SOMETHING');
define('APP_SECRET', 'SOMETHING');
define('CANVAS_PAGE', 'SOMETHING');
define('CANVAS_URL', 'SOMETHING');
require_once './libs/facebook.php';
$facebook = new Facebook( array('appId' => APP_ID, 'secret' => APP_SECRET, ));
$user = $facebook->getUser();
$redirecturl = 'BACK_TO_TAB';
if(isset($user)) {
try {
$user_profile = $facebook->api('/me');
$user_friends = $facebook->api('/me/friends');
$_SESSION['user'] = $user_profile;
$_SESSION['friends'] = $user_friends;
} catch (FacebookApiException $e) {
$user = NULL;
}
}
if($user == NULL)
{
$loginUrl = $facebook->getLoginUrl(
array(
'scope' => 'publish_stream',
'redirect_uri' => 'URL',
)
);
}
else
{
header("Location: ./step2.php");
$_SESSION['user'] = $user_profile;
$_SESSION['friends'] = $user_friends;
}
?>
<!doctype html>
<html>
<head>
</head>
<body>
<div id="layout">
<a href="<?php echo $loginUrl ?>" target="_blank">
<div class="enter"></div>
</a>
</div>
</body>
</html>
アドバイスありがとうございます。