使用FaceBook API oauth,我如何获得访问令牌?

时间:2013-11-24 22:16:56

标签: php facebook facebook-graph-api oauth oauth-2.0

我有这段代码:

<?php

require 'src/facebook.php';

$facebook = new Facebook(array(
    'appId'  => 'XXXX',
    'secret' => 'XXXX',
));

// Get User ID
$user = $facebook->getUser();

if ($user) {
    try {
        $user_profile = $facebook->api('/me');
    } catch (FacebookApiException $e) {
        error_log($e);
        $user = null;
    }
}

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

?>
    <body>
        <h1>SocialBlocks: Facebook Login with OAuth 2.0</h1>

        <?php if ($user): ?>
            <a href="<?php echo $logoutUrl; ?>">Logout</a>
        <?php else: ?>
            <div>
                Login using OAuth 2.0 handled by the PHP SDK:
                <a href="<?php echo $loginUrl; ?>">Login with Facebook</a>
            </div>
        <?php endif ?>

        <h3>PHP Session</h3>
        <pre><?php print_r($_SESSION); ?></pre>

        <?php if ($user): ?>
            <h3>You</h3>
            <img src="https://graph.facebook.com/<?php echo $user; ?>/picture">
            https://graph.facebook.com/zuck/feed

            <h3>Your User Object (/me)</h3>
            <pre><?php print_r($user_profile); ?></pre>
        <?php else: ?>
            <strong><em>You are not Connected.</em></strong>
        <?php endif ?>
    </body>
</html>

但我有问题,我想获取更多信息,例如https://graph.facebook.com/zuck/feed,但我听说我需要一个访问令牌?

谢谢,有人可以通过展示一小段关于如何解决此问题的代码来帮助我吗? :)

1 个答案:

答案 0 :(得分:0)

使用Facebook SDK对用户进行身份验证后,您可以检索用户访问令牌。您可以找到有关用户身份验证的信息here

现在,一旦用户通过身份验证,您就可以通过以下方式检索用户的访问令牌:

$access_token = $facebook->getAccessToken();