2011-11-02 162 views
0

我有一个应用程序来管理用户的Facebook通知,应用程序请求offline_access以及管理通知权限。我的日志已经填满了Facebook的错误,我知道更改密码错误将发生,但我不明白为什么我得到这些错误:Facebook访问令牌过期离线访问

Facebook的错误:错误验证访问令牌:会话已在unix时间1320012000过期。当前unix时间为1320191317. Facebook错误:(#200)为了查询用户的通知,需要“manage_notifications”权限。

他们发生方式往往被用户只需拒绝权限和即将到期的有0

回答

1

以供将来参考,offline_access已被删除,现在就可以得到一个带有的access_token 2个月

https://developers.facebook.com/roadmap/offline-access-removal/

+0

令牌在2个月后到期如何在60天之后延长这段时间无需用户交互? – Asghar

+2

看看这里https://developers.facebook.com/docs/facebook-login/access-tokens/它看起来像“即使长寿命的访问令牌最终会过期。在任何时候,您都可以生成一个新的长通过将用户发送回您的应用所使用的登录流程“来获得令牌”,这样用户不需要做任何事情,但他们仍然需要打开您的应用程序 – Luke

+0

@Luke是否有可能获得新的访问令牌在到期之前,但没有用户交互,即不再登录! –

0

到期的访问令牌尝试使用用户的令牌?一旦你申请离线访问,你应该“登录”你的应用程序来获取它自己的访问令牌,而不是使用你保存的用户令牌。如果那是你在做什么。

向下滚动到此页上标有“应用程序登录”的部分。这就是当用户不在场时应该做的事情,不要保留和使用用户的令牌。

https://developers.facebook.com/docs/authentication/

+0

我使用的用户令牌的使用寿命。你说我可以用我的应用程序登录令牌来做我需要的一切,即使我正在提取用户数据? – Luke

+0

非常。脱机访问权限意味着授予您权限的用户在没有令牌的情况下执行操作。您可以使用Facebook发布的不同于您的应用。无需为每个想要使用的用户交换代币。 –

+1

这是不正确的 - 他们应该使用用户访问令牌 - 具有'offline_access'的用户访问令牌具有很长的到期时间。如果用户取消授权应用程序,更改其密码或由于安全原因而被锁定,它可能会失效。如果App Secret被更改,它也会使所有现有的令牌无效,但其他情况应该是OK – Igy