我试图搜索这个,但没有找到答案。直到昨天我已经在Facebook上有一个工作申请,然后一切都崩溃了,它根本就没有出现。请记住,我的结局没有任何改变。该应用程序运行了一年多没有问题。
昨天,我正常访问了该应用程序,并获得了访问我朋友列表的额外权限请求。奇怪,再次因为我没有对FB上的代码或配置进行任何更改。我接受了请求,现在而不是应用程序出现,它只是进入一个无休止的oauth登录重定向循环。事实上,它甚至看起来都没有调用我的应用程序URL,因为我无法调试它(它从来没有打破代码)
我想我的问题是,有没有人知道最近在FB上发生了什么变化导致了这个问题?
该应用程序可在以下位置找到:https://apps.facebook.com/myworkoutlog
正如我写的那样,应用程序出现了,但在关闭浏览器并重新开始之后,又回到了无限循环中。任何帮助都会很棒。如果您需要其他信息,请询问。
修改 当我尝试使用验证码获取access_token时,我终于进入了调试状态:(OAuthException - #100)验证码格式无效。
答案 0 :(得分:0)
试试这个对我有用;)
include_once" facebook.php";
$facebook = new Facebook(array(
'appId' => 'xxxxxxxxxxxxxxx',
'secret' => 'xxxxxxxxxxxxxxx',
'cookie' => true
));
$fb_user = $facebook->getUser();
if($fb_user){
if(isset($_GET['code']) && isset($fb_user)){
$fbAppNs = 'appOnFacebookNameSpace';
$facebookAppUrl = 'https://apps.facebook.com/'.$fbAppNs;
header("Location: " . $facebookAppUrl);
exit;
}
try{
$user_profile = $facebook->api('/me');
$smarty->assign('name', $user_profile['first_name'].' '.$user_profile['last_name']);
$smarty->assign('email', $user_profile['email']);
}catch(FacebookApiException $e){
error_log($e);
$user = NULL;
}
}else{
$loginData = array(
'scope' => 'email,publish_stream',
'canvas' => 1,
'fbconnect' => 0,
'redirect_uri' => $siteConfigs['WEBSITE_URL'].'fblead/'
);
$loginUrl = $facebook->getLoginUrl($loginData);
echo "<script type='text/javascript'>top.location.href = '$loginUrl';</script>";
exit;
}