2013-08-03 220 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