2012-05-28 98 views
0

我正在測試一些基於example.php的代碼,並且getUser()返回0,儘管我當前正在FB上登錄。我的index.php頁面上的代碼如下:getUser()總是返回0,即使我登錄了

<?php 

include 'fbLibrary/facebook.php'; 

$facebook=new Facebook(array(
     'appId' => 'myAppID', 
     'secret' => 'mySecret', 
     'cookie' => true 
     )); 


$user=$facebook->getUser(); 
echo "getUser() returned " . $user . "<p>"; 


if ($user) 
{ 
    //fb query 
    try 
    { 
     $me=$facebook->api('/me'); 
     print_r($me); 

    } 
    catch (FacebookApiException $e) 
    { 
     echo $e->getMessage(); 
    } 
} 


if ($me) 
{ 
    $logoutUrl=$facebook->getLogoutUrl(); 
    echo "<a href='$logoutUrl'>Logout</a>"; 
} 

else 
{ 
    $loginUrl=$facebook->getLoginUrl(array(
     'scope' => 'friends_status,publish_stream' 
    )); 
    echo "<a href='$loginUrl'>Login</a>"; 
} 

?> 

當我去的index.php頁面中,「的getUser()返回的」回聲測試返回0。而且即使$loginUrl被設置爲一個URL,當我點擊它,它只需要我到相同的index.php頁面。

如果我退出FB並重新加載頁面,當我點擊「登錄」時,我會被帶到Facebook登錄到我的應用程序。然後,當我成功登錄後,我回到了index.php頁面,其中包含無效的登錄URL,getUser()繼續返回0.

我昨天剛剛下載了PHP SDK,所以我假設它是最新的。

+1

您是否正在使用最新的php sdk?你是否正確設置了應用程序設置的網站Url? Url在siteUrl和重定向網址應該是一樣的 – Jashwant

+0

@Jashwant,你是什麼意思的重定向網址?我將這個應用程序設置爲「帶有Facebook登錄的網站」,似乎沒有重定向URL的字段。但該網站的網址是正確的。 –

+0

'https:// github.com/facebook/facebook-php-sdk' – Jashwant

回答

0

然後您可以設置FB Class的參數域。類似這樣的:

<?php 
$facebook = new Facebook(array(
'appId' => APP_ID,//$app_id, 
'secret' => APP_SECRET,//$app_secret, 
'cookie' => true, 
'domain'=>'xxxdomain.com', 
)); 
$session = $facebook->getUser(); 
+0

剛剛嘗試過;沒有改變。 –

相關問題