2013-09-22 177 views
1

我一直在尋找解決我的問題的地方,但目前爲止無濟於事。Facebook應用程序登錄錯誤

我正在按照步驟創建一個Facebook Tutorial的Facebook應用程序,並且在登錄過程中遇到了問題,儘管我似乎正在做所有事情都是正確的。當應用程序嘗試登錄時,我收到以下錯誤:

Given URL is not permitted by the application configuration.: One or more of the given URLs is not allowed by the App's settings. It must match the Website URL or Canvas URL, or the domain must be a subdomain of one of the App's domains.

你會認爲有什麼毛病我的應用程序的配置,但是這似乎並不如此。下面是截圖:

enter image description here

畫布URL是正確的,我已經有或沒有填寫的應用程序域實地測試。這裏是登錄的PHP:

<?php 
    require 'server/fb-php-sdk/facebook.php'; 

    $app_id = '236534686497558'; 
    $app_secret = '***************************'; 
    $app_namespace = 'mytestsmash'; 
    $app_url = 'https://apps.facebook.com/' . $app_namespace . '/'; 
    $scope = 'email,publish_actions'; 

    // Init the Facebook SDK 
    $facebook = new Facebook(array(
     'appId' => $app_id, 
     'secret' => $app_secret, 
)); 

// Get the current user 
$user = $facebook->getUser(); 

// If the user has not installed the app, redirect them to the Login Dialog 
if (!$user) { 
     $loginUrl = $facebook->getLoginUrl(array(
     'scope' => $scope, 
     'redirect_uri' => $app_url, 
     )); 

     print('<script> top.location.href=\'' . $loginUrl . '\'</script>'); 
} 
?> 

我不明白這裏發生了什麼問題。

+0

我相信它在getLoginUrl中的錯誤redirect_uri - 它應該匹配應用程序設置中的應用程序域或畫布網址。重定向URI是用戶在用他/她的FB憑證成功登錄後將被重定向到的地址。 – xjedam

+0

重定向應該位於Facebook畫布內的Canvas頁面(意味着應用程序在Facebook內運行)。這與我從中複製代碼的教程相同。但我按照你的建議做了,將app_url改爲canvas URL,然後退出facebook畫布,並在登錄之後繼續加載登錄,直到發出錯誤:警告:由於安全原因,curl_exec()已被禁用。所以我不認爲這是一個解決方案。 – dlofrodloh

+1

啊解決了! $ app_url是httpS ...但畫布頁的網址只是http! – dlofrodloh

回答

1

認識到這個問題是$ app_url在PHP中是httpS ...但設置中的畫布頁面url只是http!

相關問題