2014-01-08 59 views
0

所以我想在我的網站上實現Facebook登錄。我已經dowloaded SDK中,創建了一個應用程序,並粘貼在應用程序ID和密碼。我無法讓PHP Facebook API工作

我得到的問題是,雖然登錄流程表現爲工作,我得到的值從

的Facebook恢復正常 - >的getUser()

facebook-> getAccessToken()

呼叫至

$ user_profile = $ F acebook-> api('/ me','GET')

拋出一個異常說我沒有訪問令牌。

由於這是直接從SDK的未修改的示例代碼我有點茫然 - 如果給出的編碼示例不起作用,我該如何計算出什麼? :)

同樣的問題與此頁面上的代碼:

https://developers.facebook.com/docs/php/howto/profilewithgraphapi/

基本上做同樣的事情,但處理異常,所以我走了一圈又一圈的「登錄到Facebook的」循環。

我可以看到應用程序添加到我的Facebook配置文件中的列表確定當我登錄,以便側看來工作。似乎SDK或者我回來的訪問令牌由於某種原因無效。

任何幫助或指針,我已經錯過了將不勝感激!

感謝

賈斯汀

回答

0

試試這個

$config['cookie'] = true; 

和重新登錄。

這是來自我用來登錄的PHP代碼。

+0

由於頂部下面的PHP代碼,倒是與沒有變化。每次點擊登錄鏈接時,我都會收到一個新的訪問令牌,但仍然會導致api調用失敗。如果我只刷新頁面訪問令牌仍然存在,所以cookie設置好。 – user3171220

0

下面是代碼的完整流程,希望這有助於。

說的FB連接頁面login.php中,我將對頁面

require_once 'src/facebook.php'; //include the facebook php sdk 
$facebook = new Facebook(array(
    'appId' => FACEBOOK_APP_ID, 
    'secret' => FACEBOOK_APP_SECRET, 
    'cookie' => true, 
    'domain'=> FACEBOOK_CONNECT_DOMAIN 
)); 

$user = $facebook->getUser(); 
if($user){ 
    // lets set the access token before making a api call. 
    $new_access_token = $facebook->getAccessToken(); 
    $facebook->setAccessToken($new_access_token); 
    $user_profile = $facebook->api('/me','GET') 
    ...... 
    ...... 
}else{ 
    // display the fb login 
}