Как интерпретировать 4-значный код oauth expires при получении токена доступа - PullRequest
9 голосов
/ 27 ноября 2010

В моем приложении определенные клики должны генерировать пост в Facebook. Я всплываю на экране входа в Facebook, если у меня нет токена доступа.

После получения токена доступа я также получаю в конце "expires = 4-значный номер".

например. истекает = 3994

Что означает этот 4-значный код?

Это время в секундах, после которого истекает срок действия токена доступа?

Или это число тиков, после которого токен доступа истекает.

Я видел какой-то API-код facebook, который ожидает, что срок действия 12-значного кода истекает, но я получаю только 4 цифры.

Причина, по которой мне нужно знать, истек ли токен доступа, заключается в том, что я не хочу, чтобы моя публикация провалилась, и хотел бы открыть экран входа в систему, если срок его действия истек.

Заранее спасибо.

Ответы [ 2 ]

6 голосов
/ 30 марта 2011

Количество секунд до истечения срока действия. т.е.

3994 / 60 / 60 =~ 1 hour

Если вы видите больше цифр (особенно в ссылке доступа к холсту), это, вероятно, метка времени Unix, которую вы можете легко преобразовать в секунды. Также вы можете использовать область действия ниже, чтобы получить токен без срока действия (но он отобразит дополнительное предупреждение с всплывающим окном авторизации):

scope=offline_access

В моем проекте (http://www.nbusy.com/projects/communicator) я использую что-то вроде ниже, чтобы узнать время истечения токена:

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

и сравните его с DateTime.Now и закройте сеанс по истечении срока действия токена.

0 голосов
/ 27 июля 2012

Токен, который вы изначально получаете от Facebook в подписанном запросе, истекает через 2 часа, или 7200000 миллисекунд, или 7200 секунд.Если вы продлите токен с помощью приведенного ниже запроса, вы получите новое время истечения 5184000 секунд, которое преобразуется в 60 дней.

подробнее об этом ответе здесь ... Срок действия токена доступа к Facebook

...