在我的应用程序中,某些点击需要生成 facebook 帖子。如果我没有访问令牌,我会弹出 facebook 登录屏幕。
在收到访问令牌后,我最后还会收到一个“过期 = 4 位数字”。
例如过期=3994
那个4位数的密码是什么意思?
访问令牌过期的时间是否以秒为单位?
或者是访问令牌过期的滴答数。
我看到一些 facebook api 代码需要 12 位过期代码,但我只收到 4 位数字。
我需要知道访问令牌是否已过期的原因是我不希望我的帖子失败,并且希望在它已过期时弹出登录屏幕。
在我的应用程序中,某些点击需要生成 facebook 帖子。如果我没有访问令牌,我会弹出 facebook 登录屏幕。
在收到访问令牌后,我最后还会收到一个“过期 = 4 位数字”。
例如过期=3994
那个4位数的密码是什么意思?
访问令牌过期的时间是否以秒为单位?
或者是访问令牌过期的滴答数。
我看到一些 facebook api 代码需要 12 位过期代码,但我只收到 4 位数字。
我需要知道访问令牌是否已过期的原因是我不希望我的帖子失败,并且希望在它已过期时弹出登录屏幕。
它是到期时间之前的秒数。IE
3994 / 60 / 60 =~ 1 hour
如果您看到更多数字(尤其是在画布访问链接上),它可能是一个 Unix 时间戳,您可以轻松地将其转换为秒。您也可以使用以下范围来获取未过期的令牌(但它会在授权弹出窗口中显示附加警告):
scope=offline_access
在我的项目(http://www.nbusy.com/projects/communicator)中,我使用类似下面的内容来了解令牌到期时间:
DateTime eprityTime = DateTime.Now.AddSeconds(3994);
并将其与 DateTime.Now 进行比较,并在令牌过期时关闭会话。
您最初在 signed_request 中从 Facebook 收到的令牌将在 2 小时或 7200000 毫秒或 7200 秒后过期。如果您使用以下请求扩展令牌,您将收到 5184000 秒的新过期时间,转换为 60 天。
更多关于这个答案的信息...... Facebook访问令牌的到期时间