使用 facebook api 从我的应用程序中的 facebook 注销问题
Posted
技术标签:
【中文标题】使用 facebook api 从我的应用程序中的 facebook 注销问题【英文标题】:Logout issue in facebook from my application using facebook api 【发布时间】:2015-01-31 16:15:42 【问题描述】:我正在使用 CodeIgniter 框架 (php),其中我使用 facebook api 将 facebook 个人资料添加到我的应用程序中,facebook 个人资料详细信息显示正确,但使用 getLogoutUrl() 从应用程序中注销 facebook 不起作用。 getLogoutUrl() 正在使用 access_token 返回用于注销的 url,但它没有注销。
$logOutURL = $this->facebook->getLogoutUrl();
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$logOutURL);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
curl_close($ch);
如何从我的应用程序中注销 facebook?
【问题讨论】:
【参考方案1】:$this->facebook->getLogoutUrl(array('next' => base_url() .'dashboard/logout'));
在您的仪表板控制器中放置此功能
public function logout()
//Destory facebbok session
setcookie('fbs_'.$this->facebook->getAppId(), '', time()-100, '/', 'localhost');
$this->facebook->destroySession();
//Destory app session
$this->session->unset_userdata('facebook_user_session'); //custom session if you made then only
$this->session->sess_destroy();
redirect(base_url(), 'refresh');
如果不让我进一步了解,请尝试此操作
【讨论】:
实际上,在我的应用程序中,您可以使用 facebook api 添加多个 facebook 个人资料,但是在添加一个 facebook 个人资料后,当您尝试添加另一个 facebook 个人资料时会出现错误。所以在这里我必须在添加另一个之前从浏览器中注销第一个 facebook 用户。 所以在上面的代码中,我试图在将另一个 facebook 帐户添加到我的应用程序之前从浏览器中注销第一个 facebook 用户。 简单删除此代码//Destory app session $this->session->unset_userdata('facebook_user_session'); //custom session if you made then only $this->session->sess_destroy(); redirect(base_url(), 'refresh');
不,facebook 个人资料没有从浏览器中注销。以上是关于使用 facebook api 从我的应用程序中的 facebook 注销问题的主要内容,如果未能解决你的问题,请参考以下文章
iOS - Facebook 单点登录 - 从我的视图控制器
从我的应用程序中注销(使用 facebook android sdk 4.0 开发)并安装 facebook 原生应用程序
在用户注销时从我的应用程序中删除 facebook 会话 cookie
Facebook通知API:“必须使用app access_token调用此方法”