【发布时间】:2011-01-15 01:32:00
【问题描述】:
我开发了一个 Facebook 应用程序,它在 Facebook 画布的 iframe 中运行。为了使其正常工作,我向用户请求扩展权限。如果用户尚未授权应用程序,我会使用 PHP SDK 中的 getLoginUrl() 方法将他/她发送到登录页面。
它有效,但它并不漂亮。该方法将用户发送到身份验证页面之前的登录页面。它看起来像这样:
当我单击“转到 Facebook.com”时,我会看到权限请求的实际页面(如果我打印 url,我也可以直接进入权限页面,将其复制并输入到新的浏览器窗口中)。当我从 iframe 进行重定向时,如何让 Facebook 跳过这一步?
我的代码如下所示(使用 CodeIgniter 和 Facebook PHP SDK):
$this->facebook = new Facebook(array(
'appId' => '{MY_APP_ID}',
'secret' => '{MY_SECRET}',
'cookie' => TRUE,
'domain' => $_SERVER['SERVER_NAME']
));
$this->facebook->getSession();
try {
$this->me = $this->facebook->api('/me');
}
catch (FacebookApiException $e) {
$this->me = NULL;
}
if ( is_null($this->me) ) {
redirect($this->facebook->getLoginUrl(array(
'req_perms' => 'offline_access,read_stream,publish_stream,user_photos,user_videos,read_friendlists',
'next' => $this->config->item('base_url').'fblogin.php?redirect_uri='.$this->uri->uri_string()
)));
}
【问题讨论】:
标签: php facebook facebook-graph-api