一个奇怪的问题,但希望有人能回答。
我正在开发一个与 Facebook 连接的移动应用程序。一切正常,已经使用了大约一周。我可以授权和删除授权并发布到用户的提要。
在周六或周日,我修改了添加offline_access 的请求。大约在那个时候(不幸的是,我无法确定确切的时间)我开始收到失败的回复,说访问令牌无效(“验证访问令牌时出错:会话已失效,因为用户更改了密码。”)。
我知道这是错误的,因为我没有更改密码并且我刚刚收到访问令牌并且响应都很好。事实上,我在获得授权后立即发布到提要(“嘿,我正在使用 TheApp”),并且该帖子因上述错误而失败。
这是它升级的地方:我去了移动 Facebook 应用程序来验证访问和连接。突然,官方 FB 应用程序开始给我同样的问题。它开始弹出登录对话框。我输入我的密码,它显示一个 toast 说登录成功,然后在几秒钟后再次要求登录。经过一两次尝试后,它最终会显示另一个带有来自上方的无效令牌消息的 toast。
我清除我的应用程序,卸载它,注销并清除所有 FB 数据(使用设备设置中的管理应用程序),然后强制停止应用程序。我无法卸载FB,所以这是我能做的最多的事情。我也去 FB 网站更改我的 FB 密码。我回到 FB 应用程序,再次登录,在提要活动完成加载之前,它再次提示我输入密码,我们又回到了那个旧循环。我尝试了我的应用程序,它在同一个存储桶中(这并不奇怪)。
还有两个数据点:
- 我有时可以使用 Graph API Exlorer Web 应用程序来实现相同的行为。我可以使用 Graph API Explorer 本身的令牌一致地执行此操作,并且我可以使用来自我的应用程序的访问令牌不一致地获取它。
- 我启动了一个模拟器(没有 FB 应用程序的模拟器)并在那里运行我的应用程序。以我的身份登录我可以获得访问令牌并且一切正常。我的应用程序毫无怨言地发布到我的提要。
在这一点上,FB(显然是任何连接 FB 的应用程序)都在我的真实设备上。它要么只是设备,要么是设备加上我的帐户的组合(我没有任何其他 FB 帐户可以尝试)。
谁能阐明我需要做些什么来进一步调试或清理它?