我一直在尋找解決我的問題的地方,但目前爲止無濟於事。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.
你會認爲有什麼毛病我的應用程序的配置,但是這似乎並不如此。下面是截圖:
畫布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>');
}
?>
我不明白這裏發生了什麼問題。
我相信它在getLoginUrl中的錯誤redirect_uri - 它應該匹配應用程序設置中的應用程序域或畫布網址。重定向URI是用戶在用他/她的FB憑證成功登錄後將被重定向到的地址。 – xjedam
重定向應該位於Facebook畫布內的Canvas頁面(意味着應用程序在Facebook內運行)。這與我從中複製代碼的教程相同。但我按照你的建議做了,將app_url改爲canvas URL,然後退出facebook畫布,並在登錄之後繼續加載登錄,直到發出錯誤:警告:由於安全原因,curl_exec()已被禁用。所以我不認爲這是一個解決方案。 – dlofrodloh
啊解決了! $ app_url是httpS ...但畫布頁的網址只是http! – dlofrodloh