请求Facebook用户的许可

时间:2014-01-25 15:54:13

标签: php facebook codeigniter email

我正在使用以下代码为我的codeigniter应用程序获取已登录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'
            ));
             echo 'Please <a href="' . $login_url . '">login.</a>';
        }

这可以运行并返回用户的Facebook数据,如果没有用户登录则提供登录链接。

在登录链接中,我要求获得电子邮件许可,因为我需要收集这些信息以进行通信。当用户使用else子句中的登录链接登录时,我成功获取了用户的电子邮件地址。

但是,我想使用Woobox在Facebook页面选项卡中启动此应用程序。因此,用户通常会始终登录其帐户。但是,如果用户未登录,则获取电子邮件权限的登录名在else语句中。

如何为已登录的用户请求电子邮件权限,而无需再次登录?

我怎样才能做到这一点,如果用户已经登录到facebook,那么询问用户权限的auth框会出现,他们可以点击ok继续授权,而不是登录按钮。

0 个答案:

没有答案