使用 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调用此方法”

使用图形 api 在 facebook 上私下发帖到朋友墙上

我如何从我的应用程序中发布消息 Facebook 墙