1

これを検索しようとしましたが、答えが見つかりませんでした。昨日まで Facebook で動作するアプリケーションを持っていた [持っていた] が、すべてが壊れてしまい、まったく表示されなくなった。私の側では何も変わっていないことを覚えておいてください。アプリケーションは問題なく 1 年以上実行されています。

昨日、通常どおりアプリケーションにアクセスしたところ、友達リストへのアクセス許可が追加で要求されました。奇妙なことに、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 に答える