2013-08-03 156 views
0

我正在使用Facebook sdk並獲取我朋友的列表,但是當我登錄或需要更新網址時,我可以獲取列表,無需登錄我的示例代碼是我可以在Facebook上登錄Facebook而不登錄嗎?

<?php include('src/facebook.php'); 
$facebook = new Facebook(array(
    'appId' => '', 
    'secret' => '', 
    'cookie' => true, 
)); 

$user = $facebook->getUser(); 
if ($user) { 
    try { 

    $user_profile = $facebook->api('/vikas.gautam.332/friends'); 

    } catch (FacebookApiException $e) { 
    error_log($e); 
    $user = null; 
    } 
} 

if ($user) { 
    $logoutUrl = $facebook->getLogoutUrl(); 
} else { 
    $loginUrl = $facebook->getLoginUrl(); 
} 


$vikas = $facebook->api('/vikas.gautam.332'); 
if ($user): ?> 
     <a href="<?php echo $logoutUrl; ?>">Logout</a> 
    <?php else: ?> 

     <a href="<?php echo $loginUrl; ?>">Login with Facebook</a> 

    <?php endif ?> 



<?php if ($user){?> 
     <img src="https://graph.facebook.com/<?php echo $user; ?>/picture"> 
     <pre><?php print_r($user_profile); 
     ?></pre> 
    <?php }?> 
    <img src="https://graph.facebook.com/vikas.gautam.332/picture"> 
    <?php echo $vikas['name']; ?> 

回答

1

我相信你不能在沒有訪問令牌的情況下獲取任何數據並獲得需要登錄的訪問令牌。因此,您仍然需要登錄。總之,這是不可能的。


這是從Access Tokens - Facebook Developer

訪問令牌是標識用戶,應用程序或網頁 會話,並提供有關授予的權限信息的隨機串。獲取 令牌是通過許多方法獲得的,本文後面的每個方法都包含在 中。令牌還包含有關令牌何時到期以及哪個應用程序生成令牌的信息。由於 隱私檢查,Facebook上的大部分API調用都需要包含 訪問令牌。有不同類型的訪問令牌的支持 這些不同的情況:

  • 用戶訪問令牌 - 需要這種訪問令牌的任何時候 應用程序調用,讀取,修改或寫一個特定的人的Facebook 數據的API (他們的檔案,照片等)。這可以被認爲是有限的 和某人授予應用程序的時間限制權限。實質上,它是 是應用程序可以代表該人使用的臨時密碼。 用戶訪問令牌通常通過登錄對話框獲取,並且 要求某人允許您的應用獲得一個
+0

確定感謝性反應的我能得到developer.facebook任何書面文章關於這個抱歉,但我搜索,我需要出示證明 –

+0

多一個,我感到我的期運用應用程序ID,所以我可以得到好友列表的東西每一個用戶的Facebook中登錄的其他人然後我通過Facebook登錄我的網站 –

+0

@Vickey,我已經添加了參考。 – invisal