10

在我的应用程序中,某些点击需要生成 facebook 帖子。如果我没有访问令牌,我会弹出 facebook 登录屏幕。

在收到访问令牌后,我最后还会收到一个“过期 = 4 位数字”。

例如过期=3994

那个4位数的密码是什么意思?

访问令牌过期的时间是否以秒为单位?

或者是访问令牌过期的滴答数。

我看到一些 facebook api 代码需要 12 位过期代码,但我只收到 4 位数字。

我需要知道访问令牌是否已过期的原因是我不希望我的帖子失败,并且希望在它已过期时弹出登录屏幕。

4

2 回答 2

6

它是到期时间之前的秒数。IE

3994 / 60 / 60 =~ 1 hour

如果您看到更多数字(尤其是在画布访问链接上),它可能是一个 Unix 时间戳,您可以轻松地将其转换为秒。您也可以使用以下范围来获取未过期的令牌(但它会在授权弹出窗口中显示附加警告):

scope=offline_access

在我的项目(http://www.nbusy.com/projects/communicator)中,我使用类似下面的内容来了解​​令牌到期时间:

DateTime eprityTime = DateTime.Now.AddSeconds(3994);

并将其与 DateTime.Now 进行比较,并在令牌过期时关闭会话。

于 2011-03-30T10:30:03.153 回答
0

您最初在 signed_request 中从 Facebook 收到的令牌将在 2 小时或 7200000 毫秒或 7200 秒后过期。如果您使用以下请求扩展令牌,您将收到 5184000 秒的新过期时间,转换为 60 天。

更多关于这个答案的信息...... Facebook访问令牌的到期时间

于 2012-07-27T18:46:39.733 回答