2010-11-27 19 views
8

Dans mon application, certains clics doivent générer un post facebook. J'ouvre l'écran de connexion facebook si je n'ai pas de jeton d'accès.Comment interpréter l'oauth expire = code à 4 chiffres lors de la réception du jeton d'accès

À la réception du jeton d'accès, je reçois également un "expire = 4 chiffres" à la fin.

par exemple. expires = 3994

Que signifie ce code à 4 chiffres?

Est-ce le temps en secondes après lequel le jeton d'accès expirera?

Ou est-ce le nombre de graduations après lequel le jeton d'accès expirera.

J'ai vu un certain code api facebook qui attend un code d'expiration à 12 chiffres mais je ne reçois que 4 chiffres.

La raison pour laquelle je dois savoir si le jeton d'accès a expiré est que je ne veux pas que mon message échoue et que l'écran de connexion apparaisse s'il a expiré.

Merci d'avance.

Répondre

6

Il s'agit du nombre de secondes avant l'expiration. à savoir

3994/60/60 =~ 1 hour 

Si vous voyez plus de chiffres (en particulier sur le lien d'accès en toile), il est probablement Unix horodater que vous pouvez convertir en secondes facilement. Vous pouvez aussi utiliser ci-dessous portée pour obtenir un jeton non expirant (mais il affiche un avertissement supplémentaire à la fenêtre d'autorisation):

scope=offline_access 

À mon projet (http://www.nbusy.com/projects/communicator) J'utilise quelque chose comme ci-dessous pour connaître la jeton heure d'expiration:

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

et le comparer avec DateTime.Now et fermer la session à l'expiration de jeton.

0

Le jeton que vous recevez initialement de Facebook dans la requête signée expire dans 2 heures ou 7200000 millisecondes ou 7200 secondes. Si vous étendez le jeton avec la requête ci-dessous, vous recevrez un nouveau temps d'expiration de 5184000 secondes qui sera converti en 60 jours.

plus sur cette réponse ici ... Expiry Time of facebook access token