Php 仅通过对话框请求Facebook权限
此代码用于从我的codeigniter应用程序的用户处获取facebook数据,我将在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
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,他们只需输入他们的凭据。当然,无论您使用什么版本的登录对话框,这都是一样的。今晚我会再做一些。我会随时通知你的。