Facebook iOS SDK:从桌面登出Facebook后,iPhone上的会话无效

cpr*_*mer 1 iphone session facebook fbconnect ios

我最近将Facebook支持集成到我正在处理的iPhone应用程序中.我能够记录用户并使API调用正常,但我最近发现了一些奇怪的行为.

用户登录后,我将访问令牌和到期日期存储在NSUserDefaults中.在执行Facebook API调用之前,我使用[session isSessionValid]来确保会话有效.

如果用户从桌面登录到Facebook然后注销,则会出现此问题.[session isSessionValid]仍返回YES,但Facebook API调用失败并显示错误:

"验证访问令牌时出错:这可能是因为用户已注销或可能是由于系统错误造成的."

有什么我做错了,或者这是Facebook的错误?

Ana*_*sky 6

即使您在NSUserDefaults中存储访问令牌和到期日期,您也需要在用户每次进入应用程序时验证它们,甚至可能使offline_access权限访问权限无效,例如当用户更改其密码时.

当你的应用开始时你只需要拨打电话到图形API"我",如果你得到你所需要的只是重新授权异常,那么您继续API调用的常规工作流程.

希望这可以帮助