2015-08-26 94 views
3

過去幾天我一直在嘗試實施Facebook OAuth SDK,但仍然遇到奇怪的斷開鏈接錯誤。Facebook OAuth,頁面未找到

我按照自己的Facebook上的SDK說明和使用此代碼爲login.php(????檢查員應用程序ID和密碼)

$fb = new Facebook\Facebook ([ 
    'app_id' => '????????????????', 
    'app_secret' => '????????????????', 
    'default_graph_version' => 'v.2.4' 
    ]); 
$helper = $fb->getRedirectLoginHelper(); 
$loginUrl = $helper->getLoginUrl('http://url.ca/login-callback.php'); 

這重定向到login-callback.php文件,該文件是Facebook的建議是什麼。利用他們提供的模板代碼爲login-callback.php,我的是這樣的:

<?php 
session_start(); 
require_once 'src/Facebook/autoload.php'; 
//Create the Facebook service 
$fb = new Facebook\Facebook ([ 
    'app_id' => '????????????????', 
    'app_secret' => '????????????????', 
    'default_graph_version' => 'v.2.4' 
    ]); 

$helper = $fb->getRedirectLoginHelper(); 
try { 
    $accessToken = $helper->getAccessToken(); 
} catch(Facebook\Exceptions\FacebookResponseException $e) { 
    // When Graph returns an error 
    echo 'Graph returned an error: ' . $e->getMessage(); 
    exit; 
} catch(Facebook\Exceptions\FacebookSDKException $e) { 
    // When validation fails or other local issues 
    echo 'Facebook SDK returned an error: ' . $e->getMessage(); 
    exit; 
} 

if (isset($accessToken)) { 
    // Logged in! 
    $_SESSION['facebook_access_token'] = (string) $accessToken; 

    // Now you can redirect to another page and use the 
    // access token from $_SESSION['facebook_access_token'] 
} 
?> 

但從login.php(點擊A HREF元素)被重定向後,我到達此:

Sorry, this page isn't available 

The link you followed may be broken, or the page may have been removed. 

在Facebook上頁面,沒有提示登錄,沒有任何東西。我已經將我的應用程序公開,並將此Url添加到應用程序,並確保OAuth已啓用,但似乎沒有任何工作。有使用Facebook OAuth經驗的人有什麼想法是怎麼回事?

回答

5

難道是'v.2.4'在你的問題中的錯字?

在API中使用的字符串應爲v2.4 - 如果您有額外的'。'它會鏈接到類似於登錄對話框的實際URL的URL,但路徑中的版本號無效

+1

您是奇蹟 –

+0

謝謝,這對我有很大的幫助! – DamianS1987