0

我正在使用 facebook sdk 并获取我朋友的列表,但是当我登录或我需要更新 url 时获取列表我可以在不需要登录的情况下获取列表我的示例代码是这样的

<?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']; ?>
4

1 回答 1

1

我相信如果没有访问令牌,您将无法获得任何数据,并且要获得您需要登录的访问令牌。因此,您仍然需要登录。简而言之,这是不可能的。


这是来自访问令牌 - Facebook 开发人员

访问令牌是一个随机字符串,用于标识用户、应用程序或页面会话,并提供有关授予权限的信息。访问令牌是通过多种方法获得的,本文档后面将介绍每种方法。令牌还包括有关令牌何时过期以及哪个应用程序生成令牌的信息。由于隐私检查,Facebook 上的大多数 API 调用都需要包含访问令牌。有不同类型的访问令牌来支持这些不同的情况:

  • 用户访问令牌——只要应用程序调用 API 来读取、修改或写入特定人的 Facebook 数据(他们的个人资料、照片等),就需要这种访问令牌。这可以被认为是某人授予应用程序的有限且有时间限制的权限。本质上,它是应用程序可以代表该人使用的临时密码。 用户访问令牌通常是通过登录对话框获得的,并且需要一个人允许您的应用程序获得一个
于 2013-08-03T04:53:46.373 回答