【发布时间】:2013-02-28 00:58:33
【问题描述】:
我想让用户退出我的应用程序并删除他们的权限
我目前使用的是 JS-SDK,没有服务器端逻辑。
我知道我可以使用FB.logout() 注销用户
我还可以使用FB.api('/me/permissions', 'DELETE') 撤销他们的权限以“取消授权”该应用
问题是,我似乎不能两者都做。每个似乎都在阻止另一个工作。
示例:
-
致电
FB.api('/me/permissions', 'DELETE', function(){FB.logout()});导致以下错误:
“拒绝显示文档,因为 X-Frame-Options 禁止显示。”
-
来电:
FB.logout(function(){FB.api('/me/permissions', 'DELETE');})导致用户被注销,但权限仍然存在。
【问题讨论】:
-
“同时做这两件事”到底是什么样的?如果您一个接一个地调用这些异步方法,那就可以解释问题了。尝试在api调用的回调函数中调用logout。
-
查看我新添加的示例
-
好吧,我可能实际上已经修复了它(仍然需要做一些测试)。我只尝试过将一个作为另一个回调,或者将它们单独输入到控制台中。实际上,“一个接一个地调用它们”似乎是使其工作的唯一方法:
FB.logout();FB.api('/me/permissions', 'DELETE');我猜这是因为它能够在另一个返回之前开始这两个异步调用。 -
嗯,这不是我会依赖的东西完全。
-
是的,哈哈。这就是为什么我一开始都没有尝试过的原因;但实际上这似乎是针对我的具体情况的合理解决方案 - 我只是想在我的开发环境中添加一些调试控件,这样我就可以快速从头开始,而无需在 facebook.com 上手动执行任何操作
标签: facebook facebook-graph-api facebook-javascript-sdk