【问题标题】:Problem at first time going to facebook app第一次去facebook应用程序的问题
【发布时间】:2011-07-06 16:40:53
【问题描述】:

我遇到的问题是,当用户第一次登录这个 facebook iframe 应用程序时,他会被发送到一个带有 facebook 徽标的空白页面。以下是屏幕截图。

以下是我的代码,我正在使用新的 PHP Sdk:

            $facebook = new Facebook(array(
              'appId'  => 'xxxxxxxxx',
              'secret' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
              'cookie' => true,
            ));
            $this->facebook=$facebook;
            $this->session = $facebook->getSession();              
            $this->me = null;
            // Session based API call.
            if(!$this->session){
               if (!$this->session) {
            //echo $loginUrl = $facebook->getLoginUrl($par);
               $loginUrl = $facebook->getLoginUrl(
                    array(
                    'canvas'    => 1,
                    'fbconnect' => 0,
                    'display'   => 'page',
                    'req_perms' => 'email,publish_stream,status_update,user_birthday,user_location,user_work_history'
                    ));
               $this->request->redirect($loginUrl);
            }
            }
            if ($this->session) {
              try {
                $this->uid = $facebook->getUser();
                $this->user = $facebook->api('/me');
              } catch (FacebookApiException $e) {
                error_log($e);
              }
            }

【问题讨论】:

    标签: facebook facebook-php-sdk


    【解决方案1】:

    不要重定向到 loginUrl,您实际上所做的是让您的 iframe 转到 facebook 页面,从而导致 facebook 在 facebook 的 iframe 中。并且 facebook 不会显示在 iframe 内。所以没有显示认证页面。

    您需要进行顶级重定向。基本上重定向整个页面,而不仅仅是你的 iframe。从 iframe 内部进行顶级重定向的一种方法是显示以下 javascript:

      <html><head>
        <script type="text/javascript">
          window.top.location.href = "<your redirect url here>";
        </script>
        <noscript>
          <meta http-equiv="refresh" content="0;url=<your redirect url here>" />
          <meta http-equiv="window-target" content="_top" />
        </noscript>
      </head></html>
    

    【讨论】:

    • 我今天会试试这个,但它与我的想法非常相似,所以我认为它必须有效
    猜你喜欢
    • 2012-05-03
    • 2011-06-27
    • 1970-01-01
    • 2011-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-19
    • 1970-01-01
    相关资源
    最近更新 更多