应用程序不可用于非开发人员

时间:2012-11-30 16:15:38

标签: facebook-apps

我的应用程序现已完成,因此要将其置于联机状态,我在应用程序页面中禁用了“沙盒模式”。但它不起作用,如果我作为开发人员登录我可以运行应用程序,否则我得到404错误... Facebook告诉我它可能需要几分钟,但我在上午11点禁用'沙盒模式'! Facebook是否需要验证我的应用程序?

1 个答案:

答案 0 :(得分:-1)

我找到了解决方案: 我们不能使用header('location:xxx.php')来询问app授权,(因为$ 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会将用户重定向到画布视图之外。

另一个提示:如果你将'user id'存储到db中,请使用'big int'列,而不是像我那样使用'int'列!

希望它会帮助人们