2010-11-27 19 views
8

En mi aplicación, ciertos clics deben generar una publicación de Facebook. Salgo de la pantalla de inicio de sesión de Facebook si no tengo ningún token de acceso.Cómo interpretar el oauth expires = código de 4 dígitos al recibir el token de acceso

Al recibir el token de acceso, también recibo un "número de caducidad = 4 dígitos" al final.

p. Ej. expira = 3994

¿Qué significa ese código de 4 dígitos?

¿Es el tiempo en segundos después del cual expirará el token de acceso?

O es el número de ticks después de los cuales el token de acceso caducará.

He visto un código API de facebook que espera que el código de 12 dígitos caduque pero recibo solo 4 dígitos.

La razón por la que necesito saber si el token de acceso ha caducado es que no quiero que mi publicación falle y me gustaría abrir la pantalla de inicio de sesión si ha expirado.

Gracias de antemano.

Respuesta

6

Es el número de segundos antes del tiempo de caducidad. es decir,

3994/60/60 =~ 1 hour 

Si ves más dígitos (especialmente en el enlace de acceso lienzo), es probable que sea una marca de tiempo Unix que se puede convertir en segundos con facilidad. También se puede utilizar a continuación alcance para obtener un token no expira (pero mostrará una advertencia adicional con la ventana de autorización emergente):

scope=offline_access 

En mi proyecto (http://www.nbusy.com/projects/communicator) utilizo algo como lo siguiente para conocer la token de tiempo de caducidad:

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

y compararlo con DateTime.Now y cerrar la sesión cuando señal caduca.

0

El token que recibe inicialmente de Facebook en el signed_request caduca en 2 horas o 7200000 milisegundos o 7200 segundos. Si extiende el token con la solicitud a continuación, recibirá un nuevo tiempo de expiración de 5184000 segundos que se convierte en 60 días.

más en esta respuesta aquí ... Expiry Time of facebook access token

Cuestiones relacionadas