2012-11-30 49 views
0

我的應用程序現在已經完成,因此爲了使其聯機,我在應用程序頁面中禁用了「沙盒模式」。但它不工作,如果我登錄爲開發人員我可以運行該應用程序,否則我會得到一個404錯誤... Facebook告訴我可能需要幾分鐘,但我禁用'沙盒模式'在上午11點! Facebook是否需要驗證我的應用程序?對於非開發人員不可用的應用程序

+0

您是否嘗試過將它關閉再打開? (並且你的安全和非安全的URL都是正確的?) – Igy

回答

-1

我找到了解決辦法: 我們不能使用標頭( '位置:xxx.php')詢問應用程序的授權,(因爲$ loginUrl爲空),它必須是這樣的:

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'存儲到數據庫中,像我一樣使用'big int'列而不是'int'列!

希望它能幫助人們

相關問題