2014-04-23 62 views
0

我用兩個碼和它不工作的第一個:Facebook的PHP的SDK不工作

<?php 
    require_once('fb/facebook.php'); 
    $config = array(
    'appId' => 'xxxxx', 
    'secret' => 'xxxxx', 
); 

    $facebook = new Facebook($config); 
    $user_id = $facebook->getUser(); 
?> 
<html> 
    <head></head> 
    <body> 

    <?php 
     function render_login($facebook) { 
      $canvas_page = 'http://fbbost.eb2a.com/'; 
      // HERE YOU ASK THE USER TO ACCEPT YOUR APP AND SPECIFY THE PERMISSIONS NEEDED BY 
      $login_url = $facebook->getLoginUrl(array('scope'=>'email,user_photos,friends_photos', 'redirect_uri'=>$canvas_page)); 
      echo 'Please <a href="' . $login_url . '">login.</a>'; 
     } 

    if($user_id) { 
     try { 

     $user_profile = $facebook->api('/me','GET'); 
     echo "Name: " . $user_profile['name']; 

     } catch(FacebookApiException $e) { 
     render_login($facebook); 
     echo "1"; 
     error_log($e->getType()); 
     error_log($e->getMessage()); 
     } 
    } else { 
     render_login($facebook); 
     echo "2"; 
    } 
    ?> 

    </body> 
    </html> 

,第二個:

<html> 
<head> 
<title>NNN</title> 
</head> 
<body> 
<?php 
include "fb/facebook.php"; 
$facebook=new Facebook(array(
    'appId' => 'xxxxx', 
    'secret' => 'xxxxx', 
    'cookie' => true 
)); 

$session=$facebook->getUser(); 
$me=null; 

if($session){ 
    try{ 
    $me=$facbook->api('/me'); 
    print_r($me); 
    } 
    catch (FacebookApiException $e){ 
    echo $e->getMessage(); 
    } 
} 

if($me){ 
    $logoutUrl=$facbook->getLogoutUrl(); 
    echo "<a href='$logoutUrl'>Logout</a>"; 
} 
else{ 
    $loginUrl=$facebook->getLoginUrl(array(
    'scope' => 'publish_stream,read_friendlists' 
)); 
    echo "<a href='$loginUrl'>Login</a>"; 
} 

?> 
</body> 
</html> 

兩個代碼返回相同的錯誤,當我登錄: 應用程序未安裝:此應用程序的開發人員尚未爲Facebook登錄正確設置此應用程序。

+0

所以首先你寫的第一個不起作用,然後你說他們兩個都返回錯誤?困惑我。 –

+0

您是否在開發者網站創建了一個應用程序? –

+0

我認爲這個錯誤意味着你沒有在facebook developper上設置一個應用程序,該應用程序將響應你的geth url請求。 –

回答

0

我認爲你的應用程序不公開。您需要將其設置爲公開才能將其用於除開發人員自己的帳戶以外的任何Facebook帳戶。轉到「狀態和評論」並將應用程序公開。

此外,請檢查您是否已正確設置應用程序域。

+0

感謝它的工作:) – Nameer

相關問題