2011-07-29 181 views
0

我一直在使用相同的代碼。我試圖使用它,它不會讓我連接。前端JavaScript的作品和我的應用ID和所有匹配。因爲我想登錄用戶,我做後端驗證(正如任何理智的人),並在verifyfacebook.php(你看的東西)所有的包括在那裏,我證實FACEBOOK_APP_ID和SECRET都是正確的,他們回聲與他們的價值。Facebook後臺登錄

我只是不明白是怎麼回事! 任何人都可以看到我只是想念的東西嗎?

try { 
    $facebook = new Facebook(array(
     'appId' => FACEBOOK_APP_ID, 
     'secret' => FACEBOOK_SECRET_ID, 
     'cookie' => true, 
    )); 

    $session = $facebook->getSession(); 

    $fbme = null; 

    // Session based graph API call. 
    if ($session) { 
     try { 
      $uid = $facebook->getUser(); 
      $fbme = $facebook->api('/me'); 
     } catch (FacebookApiException $f) { 
     } 
    } 
} catch (Exception $e) { 
} 

我只是想簡單的例子,它仍然不會工作。

$facebook = new Facebook(array(
    'appId' => FACEBOOK_APP_ID, 
    'secret' => FACEBOOK_SECRET_ID, 
    'cookies' => true 
)); 

// Get User ID 
$uid = $facebook->getUser(); 

echo $uid; 

它回聲 '0'

+0

您使用的是v2.x嗎?嘗試使用'3.0.0'並查看[示例](https://github.com/facebook/php-sdk/blob/master/examples/example.php)。不知道爲什麼,但2.x停止工作,升級到3.0.0。幫助我。並確保輸出值和例外以查看正在發生的事情。 –

+0

我沒有輸出錯誤,但它似乎會話只是空...我試試這個3.0。我會讓你知道你是否應該把它作爲答案,並給你一個綠色檢查。 – Michael

+0

好吧,所以我嘗試了所有這一切(抱歉被室友暈暈了),它仍然沒有得到用戶......這很奇怪。 – Michael

回答

1

cookie參數不再與3.0.x的使用直到我刪除了所有的cookies,包括會話之後,下面的代碼才能正常工作。 redirect_uri是可選的,只要確保您重定向到此代碼執行的相同頁面。

$facebook = new Facebook(array(
    'appId' => FACEBOOK_APP_ID, 
    'secret' => FACEBOOK_SECRET_ID, 
)); 

$user = $facebook->getUser(); 

if ($user) 
{ 
    echo sprintf(
     '<a href="%s">Logout</a>', 
     $facebook->getLogoutUrl(array(
      'redirect_uri' => URL, 
     )) 
    ); 
} 
else 
{ 
    echo sprintf(
     '<a href="%s">Login</a>', 
     $facebook->getLoginUrl(array(
      'redirect_uri' => URL, 
      'scope'  => SCOPE, 
     )) 
    ); 
} 

if ($user) 
{ 
    try 
    { 
     print_r($facebook->api('/me'); 
    } 
    catch (FacebookApiException $e) 
    { 
     print_r($e); 
    } 
} 
0

這個職位應該有所幫助:

http://developers.facebook.com/blog/post/525/ 

嘗試並且如執行的代碼,然後,一旦你得到它的工作,你可以定製你的需求。