Php 仅通过对话框请求Facebook权限

Php 仅通过对话框请求Facebook权限,php,facebook,codeigniter,Php,Facebook,Codeigniter,此代码用于从我的codeigniter应用程序的用户处获取facebook数据,我将在facebook页面选项卡中启动该应用程序 require_once('facebook-php-sdk/src/facebook.php'); $facebook= new Facebook(array( 'appId' => $this->config->item('app_id'), 'secret' => $thi

此代码用于从我的codeigniter应用程序的用户处获取facebook数据,我将在facebook页面选项卡中启动该应用程序

require_once('facebook-php-sdk/src/facebook.php');

        $facebook= new Facebook(array(
          'appId' => $this->config->item('app_id'),
              'secret' => $this->config->item('app_secret'),
              'allowSignedRequest' => false,
        ));

        $_REQUEST += $_GET;
        $user = $facebook->getUser();

        if ($user) {
          try {

            $user_profile = $facebook->api('/me?fields=picture.width(100).height(100),first_name,last_name,username,email');

          } catch (FacebookApiException $e) {
            $user = null;
          }
        } else {
           $login_url = $facebook->getLoginUrl(array(
                'scope' => 'email'
            ));
             redirect($login_url, 'refresh');
        }
我希望这样,如果用户已经登录到facebook,那么当他们打开标签使用该应用程序时,而不是被要求登录,就会出现请求权限的对话框。我需要电子邮件权限


如果用户已登录Facebook,我如何跳过“登录以获取权限”步骤,而只显示“请求权限”对话框?

登录和请求权限的对话框处于打开状态,并且相同。如果您不想将用户重定向到对话框页面,而是在页面上覆盖了一个漂亮的对话框,那么请使用JS SDK中的
FB.login
。@CBroe这会要求用户单击“确定”。上面的当前代码将用户发送到一个登录页面,用户必须在该页面上输入他们的Facebook凭据,然后会出现一个对话框,要求确认应用程序。javascript sdk是否会绕过登录获取电子邮件的需要,只需通过对话框询问,如果他们还没有登录Facebook,他们只需输入他们的凭据。当然,无论您使用什么版本的登录对话框,这都是一样的。今晚我会再做一些。我会随时通知你的。