Facebook PHP SDK - 无法正确注销

2024-03-29

我花了几个小时寻找这个问题的解决方案,但找不到适合我的解决方案。当我在网站上单击“注销”时,用户信息仍然可见,并且仍然显示注销按钮。这是代码:

require 'facebook-php-sdk/src/facebook.php';

$facebook = new Facebook(array(
  'appId'  => 'xxxx',
  'secret' => 'xxxx',
));

// Get User ID
$user = $facebook->getUser();
var_dump($user);
if ($user) {
  try {
    // Proceed knowing you have a logged in user who's authenticated.
    $user_profile = $facebook->api('/me');
  } catch (FacebookApiException $e) {
    error_log($e);
    $user = null;
  }
}

// Login or logout url will be needed depending on current user state.

if ($_GET['logout'] == "yes") {
setcookie('fbs_'.$facebook->getAppId(), '', time()-100, '/', 'http://gno.....ment/index.php');
session_destroy();
header("Location: ".$_SERVER['PHP_SELF']."");
}

if ($user_profile) {
  $logoutUrl = $facebook->getLogoutUrl;
} else {
  $loginUrl = $facebook->getLoginUrl(array('scope' => 'email,publish_stream,user_status',
  'canvas' => 1,
  'fbconnect' => 0,
  'redirect_uri' => 'http://gno.....ment/index.php'));
}

…… ……

<?php if ($user): ?>
<h3>You</h3>
<img src="https://graph.facebook.com/<?php echo $user; ?>/picture">

<h3>Your User Object (/me)</h3>
<pre><?php print_r($user_profile); ?></pre>
<?php else: ?>
<strong><em>You are not Connected.</em></strong>
<?php endif ?>

<?php if ($user): ?>
<a href="<?php echo $logoutUrl; ?>">Logout of FB</a>
<?php else: ?>
<div>
Login using OAuth 2.0 handled by the PHP SDK:
<a href="<?php echo $loginUrl; ?>">Login with Facebook</a>
</div>
<?php endif ?>

看起来if ($_GET['logout'] == "yes")可能是我的答案,但我无法让它发挥作用。我不知道在哪里logout是从哪里获得的或者是在哪里定义的?

这似乎是一个常见问题,但我无法弄清楚。我真的很感激一些帮助。


使用 PHP SDK 实现起来非常简单,文档也非常糟糕。您无需重定向至 Facebook。你只需要清除 Facebook 类设置的会话,Facebook 基类中有一个函数,名为销毁会话()。在这里我正在做。

require_once('libs/facebook.php');

$facebook = new Facebook(array(
    'appId'  => 'xxxxxx',
    'secret' => 'xxxxxx'
)); 

$facebook->destroySession();

$facebook->getLogoutUrl() 将用户从 Facebook 注销。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Facebook PHP SDK - 无法正确注销 的相关文章

  • 无需 cron 在后台发送邮件

    我想知道是否有一种方法可以运行 PHP 循环 以便在后台向订阅者发送几百封电子邮件 我的目标是格式化新闻通讯 单击发送 然后关闭浏览器或更改页面 当然 发送电子邮件的实际过程将在后台运行 不会因浏览器关闭而中断 我知道这可以通过 cron
  • jquery ajax加载后丢失CSS

    大家知道如何解决 load Ajax 请求后的 css 问题吗 例如 如果我想从网页加载 DIV 在我的 Ajax 请求之后 container load path to div div id 我丢失了与该 div 关联的所有 css 和脚
  • 如何从 PHP 中的字符串创建可能的字符串组合?

    如何从 PHP 中的字符串创建可能的字符串组合 Exp input abc output array 0 gt a 1 gt ab 2 gt abc 3 gt ac 4 gt acb 5 gt b 6 gt ba 7 gt bac 8 gt
  • 将字符串分解为标记,保持引用的子字符串完整

    我不知道我在哪里看到它 但是谁能告诉我如何使用 php 和 regex 来完成这个任务 this is a string that has quoted text inside 我希望能够像这样爆炸它 0 this 1 is 2 a 3 s
  • PHP 启动:无法加载动态库 php5.4.3/ext/php_ffmpeg.dll 不是有效的 Win32 应用程序

    再会 我尝试在 Windows 7 计算机上安装 dll 文件 php ffmpeg 但不断收到此错误 29 Jan 2013 11 37 00 UTC PHP Warning PHP Startup Unable to load dyna
  • 在 PHP 中设置 HTTP 响应代码(在 Apache 下)

    给出以下两种在 PHP 中设置 HTTP 响应代码的方法 具体来说 在 Apache 下 方法一 http response code 404 方法二 header HTTP 1 0 404 Not Found 我的问题是 除了这个事实之外
  • node-mongodb-native的插入性能

    我正在使用 MongoDB 测试 Node js 的性能 我知道其中每一个都很好 彼此独立 但我正在尝试一些测试来感受它们 我遇到了这个问题 但无法确定来源 问题 我正在尝试在单个 Node js 程序中插入 1 000 000 条记录 它
  • 安装 OCI8:如何纠正“使用未定义常量 OCI_COMMIT_ON_SUCCESS”错误?

    我正在尝试在 RedHat 服务器 RHEL7 上为我的 Apache 服务器安装 OCI8 此时 当我尝试使用 Symphony 连接到我的服务器时 出现以下错误 异常 ErrorException 使用未定义的常量 OCI COMMIT
  • PHP-列出一年中一个月中的所有天[重复]

    这个问题在这里已经有答案了 可能的重复 我在 PHP 中有 2 个日期 如何运行 foreach 循环来遍历所有这些日期 https stackoverflow com questions 3207749 i have 2 dates in
  • Facebook-API 中的会话密钥和访问令牌

    有人可以向我解释一下什么是会话密钥和访问令牌吗 怎样才能抓住那两个人呢 为什么以及何时需要使用它们 什么时候是 一次性 什么时候不是 另外 他们之间有什么区别 请用Java 来做 我是一位刚接触 facebook API 的 Java 开发
  • 如何解决 注意:未定义索引:第 21 行 C:\xampp\htdocs\invmgt\manufactured_goods\change.php 中的 id [重复]

    这个问题在这里已经有答案了 我的 PHP 代码有一个问题 显示 注意 未定义的索引 我确信它非常简单 因为我是初学者 所以我不太清楚到底出了什么问题 所以请帮助我 这是代码
  • 将 PayPal 返回 URL 设置为 localhost

    我正在尝试集成 Paypal 并且在此过程中使用沙箱 我按照以下问题中接受的答案的步骤进行操作 设置 PayPal 返回 URL 并使其自动返回 https stackoverflow com questions 7642895 setti
  • AFNetworking 上传图片

    我看过一些例子 但我认为我的问题可能出在 PHP 中 我正在尝试使用 AFNetworking 将图像从 iPhone 上传到服务器 这是我的 obj c 代码 IBAction uploadButtonClicked id sender
  • 管理面板的 htaccess 重写规则

    我的网络应用程序中有这样的 url 模式 www mysitename com foldername controller method 所有请求的页面首先被重定向到根文件夹上的index php 然后处理请求的页面 但每当我进入管理面板
  • PHPMailer 验证失败

    当我尝试在工作中使用 Windows Server 2012 上的 PHPMailer 来使用 SMTP 发送报告电子邮件时 出现身份验证失败错误 我在域上使用服务器管理员帐户 我非常确定密码是正确的 检查下面的代码 require PHP
  • PHP 的 mb_internal_encoding 实际上是做什么的?

    根据 PHP 网站 http www php net manual en function mb internal encoding php它这样做 coding 是用于 HTTP 输入的字符编码名称 字符编码转换 HTTP输出字符编码 转
  • C++ php 和静态库

    我创建了一个library a 其中包含 cpp 和 h 文件 其中包含很多类 嵌套类和方法 我想在 php 示例中包含这个静态库并尝试使用它 我想提一下 我是 php 新手 我已经在 test cpp 文件中测试了我的 libray a
  • PHP 致命错误:未找到“MongoClient”类

    我有一个使用 Apache 的网站 代码如下 当我尝试访问它时 我在 error log 中收到错误 PHP Fatal Error Class MongoClient not found 以下是可能错误的设置 但我认为没有错误 php i
  • 使用 PHP 将 SVG 图像转换为 PNG

    我正在开发一个网络项目 该项目涉及动态生成的美国地图 根据一组数据为不同的州着色 这个 SVG 文件为我提供了一张很好的美国空白地图 并且很容易更改每个州的颜色 困难在于 IE 浏览器不支持 SVG 因此为了让我使用 svg 提供的便捷语法
  • preg_match 所有以@开头的单词?

    我对正则表达式不太确定 所以我不得不问你 如何用 PHP 判断字符串中是否包含以 开头的单词 例如我有一个像 This is for codeworxx 这样的字符串 我很抱歉 但我没有任何起点 希望你能帮忙 谢谢 萨沙 好的 谢谢你的结果

随机推荐

  • 如何从jetty-maven-plugin获取端口号?

    jetty maven 插件 7 x http wiki eclipse org Jetty Feature Jetty Maven Plugin 当用于集成测试时 在运行时动态查找可用端口 如何保存找到的端口号并在 Java 集成测试中使
  • 如何将sklearn决策树规则提取为pandas布尔条件?

    有这么多帖子像这样 https stackoverflow com questions 20224526 how to extract the decision rules from scikit learn decision tree关于
  • 如何处理与 hgsubversion 的合并?

    我正在尝试为使用 Subversion 的项目做出贡献 我使用 Mercurial 及其 hgsubversion 扩展来克隆存储库 我的工作发生在功能分支上 如何使功能分支与默认分支 hgspoke 又名主干 svnspoke 上发生的事
  • Spring Boot RestController,错误状态响应主体,错误消息为空

    在我的 Spring Boot RestController 上 我想通过抛出自定义异常来将自定义错误消息传递到响应正文 我正在遵循指南https dzone com articles spring rest service excepti
  • 将 log4net 与 WebApi 结合使用 - 在整个实例中保持相同的相关 ID

    我有一个 LoggingHandler 类 用作消息处理程序来记录 使用 log4net 请求和对我的 WebApi 的响应 public class LoggingMessageHandler DelegatingHandler publ
  • 在 Google 日历中设置事件颜色

    使用谷歌日历API http code google com apis calendar 我可以成功add http code google com apis calendar data 2 0 developers guide dotne
  • Dealloc 被调用两次?

    解决 感谢孤独枪手 这个问题是由于在释放许多代表之前没有将其设置为零而造成的 这是一个奇怪的 我熟悉基本的内存管理 但我认为我所看到的有些不寻常 这是一些背景 我有一个 NavigationController 来处理以下 ViewCont
  • “Binding”类型的 DependencyProperty 未更新

    我在创建 Binding 类型的 DependencyProperty 时遇到问题 其他类型工作正常 如果我使用绑定填充它们 它们就会成功解析 在我的场景中 我想获取原始绑定 以便我可以使用它来绑定到子对象的属性 这与 DataGrid 处
  • 相对于视图的CGPoint

    考虑一个屏幕点 CGPoint 和一个视图 UIView 它位于视图层次结构内部的某个位置 它可以是其他视图的子视图 如何将点转换为相对于视图坐标的点 首先 将该点从屏幕坐标转换为主窗口的坐标 UIWindow mainWindow UIA
  • 分配新值后将 ObservableCollection 绑定到 DataGrid

    这似乎是一个简单的问题 但我无法让它发挥作用 我有一个具有以下属性的用户控件 public ObservableCollection
  • 仅当 IP 地址获得批准时才允许用户访问页面

    如何制作一个 HTML 和 CSS PHP JavaScript 文档 只允许页面上的某些 IP 地址 我不是问 how 使用 PHP 查找 IP 地址 但如何允许基于 IP 地址访问页面 把它放在你的 php 文件的顶部并更新allowe
  • 用于创建断开连接的数据库应用程序的最佳基于 .NET3.5 的策略

    我的要求是 相对较小的数据库 25 30 个表 每个表有 4 5k 行 4 5 个用户在其笔记本电脑上拥有自己的本地数据库副本 在需要时或一天结束时进行同步 免费解决方案 正如我为 NFP 组织进行的设置一样 过去几天我一直在研究各种选择
  • 如何调试肉桂小程序?

    我想写一个肉桂小程序 这些都是基于 JavaScript 的 我希望编写的代码更改服务 打开和关闭它们 类似于WebDeveloper菜单小程序 https bitbucket org infiniteshroom cinnamon web
  • 仅保留 git 中文件子集的提交

    我想实现以下目标 保留我选择的文件的所有更改历史记录 或提交 有些文件被重命名 有些文件也从其他目录移动 我想删除与我从 git 日志中选择的文件无关的所有提交 我尝试了不同的方法 例如this https medium com ayush
  • 如何通过http打开远程sqlite数据库?

    是否可以通过 http 打开 sqlite 文件 我只需要读取数据库 并希望我可以做类似的事情 var dbFile File new File http 10 1 1 50 project db sqlite sqlConnection
  • Angular View 绑定未使用简单布尔值更新

    再见 这可能是一个菜鸟问题 但我无法让它发挥作用 我有一个简单的服务 可以切换布尔值 如果布尔值为 true 则活动类应该出现在我的 div 上 如果为 false 则没有类 就这么简单 但是布尔值已更新 但我的视图没有对此做出反应 我是否
  • if match 语句中的 #N/A 返回 FALSE

    如果出现匹配错误 我会尝试显示 FALSE 值 现在 我还无法弄清楚 我对谷歌电子表格中的公式如何工作仍然很陌生 IF MATCH A16 W46 W52 0 TRUE FALSE 如果该值存在 则当前有效 我努力了 IF ISNA MAT
  • 大于/小于的 switch 语句

    所以我想使用这样的 switch 语句 switch scrollLeft case lt 1000 do stuff break case gt 1000 lt 2000 do stuff break 现在我知道这些陈述中的任何一个 lt
  • 如何找到多维数组的 .index

    尝试了网络资源 但没有任何运气和我的视觉快速入门指南 如果我有二维 多维数组 array x x x x x S x x x x x print array index S it returns nil 然后我去输入 array x S x
  • Facebook PHP SDK - 无法正确注销

    我花了几个小时寻找这个问题的解决方案 但找不到适合我的解决方案 当我在网站上单击 注销 时 用户信息仍然可见 并且仍然显示注销按钮 这是代码 require facebook php sdk src facebook php faceboo