2010-10-22 75 views
1

我有一個簡單的應用程序,用於在舊的API中工作。這是一個iFrame應用程序,無論我嘗試什麼,我都無法使用新API獲取用戶會話。這裏是我現在的代碼:Facebook PHP API /應用程序:iFrame

<?php 
error_reporting(E_ALL); 

require 'facebook.php'; 

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

$session = $facebook->getSession(); 
if (!$session) 
{ 
//echo "Failed. No session.<br />"; 

    $url = $facebook->getLoginUrl(array(
       'canvas' => 1, 
       'fbconnect' => 0, 
       'next'=>'http://www.facebook.com', 
       'cancel_url' => 'http://www.facebook.com' 
      )); 

    //echo "<script type='text/javascript'>top.location.href = '$url';</script>"; 
    echo "<a href='".$url."' target='_blank'>First time using this App? Click here to connect it to your Facebook.</a>"; 

} 
else { 

    try { 

     $uid = $facebook->getUser(); 
     $me = $facebook->api('/me'); 

     $updated = date("l, F j, Y", strtotime($me['updated_time'])); 

     echo "Hello " . $me['name'] . "<br />"; 
     echo "You last updated your profile on " . $updated; 

    } catch (FacebookApiException $e) { 

     echo "Error:" . print_r($e, true); 

    } 
} 

無論我嘗試什麼,$ session永遠不會返回(點擊鏈接後)。我正在使用正確的appID/secret/facebook.php,但如果路徑始終落入!$會話中。我究竟做錯了什麼?

回答

0

,我使用,我下載了PHP API的版本,前幾天沒有$ facebook->的getSession()

所以,這取決於你正在使用的版本(假設舊版本有一個的getSession ,我不知道我剛開始使用API​​),它可能不再有getSession。

這個API顯示的例子是使用 - > getUser嘗試獲取用戶對象並檢查它是否有效,然後嘗試通過信息獲取用戶配置文件以驗證連接是否有效。

希望有所幫助。

傑森Penick

相關問題