使用OAuth 2.0 PHP的Facebook授权不适用于ie和safari

时间:2013-04-04 04:39:57

标签: facebook-php-sdk facebook-oauth

我开发了一个摄影比赛的应用程序。

步骤:

  1. 用户授权我获得照片和电子邮件许可的应用。
  2. 简介页面并从facebook链接中选择
  3. 照片的页面,其中显示所有用户的Facebook照片可供选择。用户选择一张照片并单击下一步
  4. 表格填写并提交。
  5. 选择照片的页面。
  6. 在这个应用中,我的画布网址是“http://mysite.com/index.php?”在哪里我授权应用程序。

    所以当用户点击“从脸谱中选择”链接时,它会重定向到我显示照片的另一个页面。

    在这个页面(photos.php)中,我使用与index.php中相同的代码,

    require 'src/config_app.php';
    require 'src/facebook.php';
    
    $facebook = new Facebook(array(
      'appId'  => $appid,
      'secret' => $appsecret,
      'cookie' => true
    ));
    
    $user = $facebook->getUser();
    
    if ($user) {
      try {
        // Proceed knowing you have a logged in user who's authenticated.
        $user_profile = $facebook->api('/me');
      } catch (FacebookApiException $e) {
        error_log($e);
        $user = null;
      }
    }
    
    // Login or logout url will be needed depending on current user state.
    if ($user) {
      $logoutUrl = $facebook->getLogoutUrl();
    } else {
      $loginUrl = $facebook->getLoginUrl();
    }
    

    但是我得到了致命错误,如下所示:

    Fatal error: Uncaught OAuthException: An active access token must be used to query information about the current user. thrown in  var/www/vhosts/mysite.com/httpdocs/src/base_facebook.php on line 1107
    

    这只发生在ie和safari中,我检查了我的chrome和firefox这是好的。

    我几乎使用chrome完成了我的应用程序,现在在其他浏览器中遇到了这个主要问题。

    我做错了什么!?

    请帮助。

    非常感谢。

0 个答案:

没有答案