我有一个应用程序,Facebook登录在昨天工作的很好。我切换到AWS EC2,为今天的一些容量规划获得更大的服务器。getUser()现在只返回0;昨天工作吗?
不幸的是,Facebook登录不再有效。特别是,在从JavaScript授权中获取access_token之后,getUser()调用仅返回0.代码如下。
由于服务器是唯一已经改变(和IP)有一些配置与我的服务器有关,我错过/不知道?
if(isset($_GET["access_token"])) {
$access_token = $_GET["access_token"];
$facebook = new Facebook(array(
'appId' => FACEBOOK_APP_ID,
'secret' => FACEBOOK_SECRET,
));
$facebook->setAccessToken($access_token);
$user = $facebook->getUser();
if($user) {
try {
$user_profile = $facebook->api('/me');
$user_name = $user_profile["name"];
$user_email = $user_profile["email"];
$fb_uid = $user_profile["id"];
$fb_access_token = $access_token;
} catch (FacebookApiException $e) {
$status_header = 'HTTP/1.1 500 Internal Server Error';
header($status_header);
header('Content-type: application/json');
echo json_encode(array('message' => 'Facebook Exception'));
exit;
}
} else {
$status_header = 'HTTP/1.1 500 Internal Server Error';
header($status_header);
header('Content-type: application/json');
echo json_encode(array('message' => 'Facebook user does not exist', 'access_token' => $access_token, 'user' => $user, 'fb' => $facebook));
exit;
}
}
尝试在另一个网页浏览器。也许这是缓存或cookie问题? –
尝试过三种不同的浏览器 –
您是否使用相同的域名? Facebook应用程序仅限于您在设置中提供的域。 –