1

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

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

我想我的问题是,有没有人知道最近在 FB 上发生了一些变化导致这种情况?

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

在我写这篇文章的时候,应用程序出现了,但在关闭浏览器并重新启动后,又回到了无限循环。任何帮助都会很棒。如果您需要更多信息,请询问。

编辑: 我终于把它调试了,当我尝试使用验证码获取 access_token 时它中断了:(OAuthException - #100)无效的验证码格式。

4

1 回答 1

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;
}
于 2014-03-26T12:08:17.260 回答