Facebook画布应用程序中的无限重定向循环

时间:2013-08-21 22:35:36

标签: facebook

我试图搜索这个,但没有找到答案。直到昨天我已经在Facebook上有一个工作申请,然后一切都崩溃了,它根本就没有出现。请记住,我的结局没有任何改变。该应用程序运行了一年多没有问题。

昨天,我正常访问了该应用程序,并获得了访问我朋友列表的额外权限请求。奇怪,再次因为我没有对FB上的代码或配置进行任何更改。我接受了请求,现在而不是应用程序出现,它只是进入一个无休止的oauth登录重定向循环。事实上,它甚至看起来都没有调用我的应用程序URL,因为我无法调试它(它从来没有打破代码)

我想我的问题是,有没有人知道最近在FB上发生了什么变化导致了这个问题?

该应用程序可在以下位置找到:https://apps.facebook.com/myworkoutlog

正如我写的那样,应用程序出现了,但在关闭浏览器并重新开始之后,又回到了无限循环中。任何帮助都会很棒。如果您需要其他信息,请询问。

修改 当我尝试使用验证码获取access_token时,我终于进入了调试状态:(OAuthException - #100)验证码格式无效。

1 个答案:

答案 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;
}