0

アプリケーションが完成したので、オンラインにするために、アプリケーションのページで「サンドボックス モード」を無効にしました。開発者としてログインしている場合はアプリケーションを実行できますが、それ以外の場合は 404 エラーが発生します... Facebook は数分かかる可能性があると言いましたが、午前 11 時に「サンドボックスモード」を無効にしました!! Facebook は私のアプリを検証する必要がありますか?

4

1 に答える 1

-1

私は解決策を見つけました:アプリの承認を求めるためにheader('location:xxx.php')を使用することはできません($ loginUrlがnullであるため)次のようにする必要があります:

try {
    // On récupère l'UID de l'utilisateur Facebook courant
    // On récupère les infos de base de l'utilisateur
    $me = $fb->api('/me');
} catch (FacebookApiException $e) {

    // S'il y'a un problème lors de la récup, perte de session entre temps, suppression des autorisations...

    // On récupère l'URL sur laquelle on devra rediriger l'utilisateur pour le réidentifier sur l'application
    $loginUrl = $fb->getLoginUrl(
        array(
            'canvas'    => 1,
            'fbconnect' => 0,
            'redirect_uri' => 'http://www.facebook.com/pages/Point-dEncre-France-Page-officielle/178099798924693'
        )
    );
    // On le redirige en JS (header PHP pas possible)
    echo ("<script>top.location.href='".$loginUrl."'</script>");

しかし、ユーザーをキャンバスアプリにリダイレクトするには、使用する必要があります

header('location:xxx.php')

ではなく

<script>top.location.href="xxxx"</script>

それ以外の場合、FBはユーザーをキャンバスビューからリダイレクトします。

そして別のヒント:「ユーザーID」をデータベースに保存する場合は、「int」列ではなく「bigint」列を使用してください。

それが人々を助けることを願っています

于 2012-12-01T10:47:18.597 に答える