Facebook PHP SDK,歌剧松动会话

时间:2011-11-28 15:12:37

标签: php facebook sdk

我有以下基本代码在chrome和firefox上运行正常,但是当我在Opera上运行时,我可以使用登录链接,但是在返回时,它似乎已经丢失了会话并且我得到了“活动访问”必须使用令牌来查询有关当前用户“

的信息

您应该可以在http://www.leagues-online.co.uk/test.php

进行测试
<?
    $appid='XXX';
    $appsecret='XXX';

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

    $fbid = $facebook->getUser();

    $params = array(
      scope => '',
      redirect_uri => 'http://www.leagues-online.co.uk/test.php'
    );  // scope: read_stream, friends_likes
    $loginUrl = $facebook->getLoginUrl($params);

    $params = array( 'next' => 'http://www.leagues-online.co.uk/test.php' );
    $logoutUrl = $facebook->getLogoutUrl($params); // $params is optional. 

    if ($fbid) {
        try {   // Proceed knowing you have a logged in user who's authenticated.
            $fb_profile = $facebook->api('/me');

            echo "<a href='$logoutUrl'>Logout</a> | <p>fb user: $fb_profile[id]</p>";

            echo "<p>Logged in as $fb_profile[name]</p>";

        } catch (FacebookApiException $e) {
            echo "<p>Error!<br />
                <a href='$loginUrl'>Login</a></p>

                <pre>".htmlspecialchars(print_r($e, true)).'</pre>';
        }
    }else{
        echo "No facebook user
        <a href='$loginUrl'>Login</a>";
    }
    ?>

有什么建议吗?

修改

当我请求'email,offline_access'priv's时,它似乎也适用于Opera。我不认为你需要这些只是让他们登录,但也许我错了?我真的不想要求这些,当我想要它们获取他们的ID和公共信息,以允许他们使用Facebook登录我的网站。

编辑2

我错过了javascript部分,似乎是必要的。我以为我能够链接到登录页面并在没有它的情况下重定向回来,但看起来我错了!

0 个答案:

没有答案