Como Facebook está eliminando el permiso de acceso sin conexión, quiero seguir adelante y migrar nuestro sitio web para usar el nuevo sistema.¿Cómo se obtienen los tokens de acceso de larga duración de la API Graph de Facebook (autenticación del lado del servidor)?
me encontré con este documento en la página web de Facebook: https://developers.facebook.com/roadmap/offline-access-removal
Sin embargo, cuando proceso a alguien con la autenticación del lado del servidor, consigo esta respuesta:
access_token => BLAHBLAHBLAHdontusemytokensilly
expires => 4992
Cuando intento utilizar el punto de acceso (en ese documento) para ampliar el acceso de ficha más de un par de horas, me sale esto de nuevo:
access_token => BLAHBLAHBLAHdontusemytokensilly
expires => 4990
Según ese documento, OAuth del lado del servidor debería recibir un token que dura 60 días, no entiendo por qué no lo estoy recuperando.
Realmente no quiero enviar a nuestros usuarios a través del redireccionamiento de OAuth cada 2 horas.
¿Alguna idea? ¡Gracias!
ACTUALIZACIÓN
Conforme a lo solicitado, aquí es el flujo que estoy tomando (en el navegador):
En primer lugar me redirige al usuario aquí:
Este redirige al usuario a aquí:
http://localhost/user-social/facebook/redirect?code=BLAHBLAHBLAHsomeawesomecode#_=_
me pidió entonces un token de acceso de este modo:
recibo este reposo de Facebook:
access_token=BLAHBLAHBLAHdontusemytokensilly&expires=4057
Ésta es Obviosly un token de corta duración. De acuerdo con la documentación de Facebook (arriba), debería haber recibido un token de larga duración (ya que estoy usando el OAuth del lado del servidor).
Sin embargo, ya que es de corta duración, he tratado de cambiarla por una larga vida token:
Esto es lo que volvió Facebook:
access_token=BLAHBLAHBLAHdontusemytokensilly&expires=3967
La misma señal_acceso está siendo devuelto en ambas solicitudes.
ACTUALIZACIÓN 2
pongo el token de acceso arriba en el Facebook Debugger y esto es lo que ha devuelto:
App ID:
BLAHBLAH
User ID:
211800900 : David Barratt
Issued:
Unknown
Expires:
1347303600 (in 40 minutes)
Valid: True
Origin: Web
Scopes: create_event create_note email friends_actions.music friends_actions.news friends_actions.video friends_likes friends_subscriptions manage_pages photo_upload publish_actions publish_stream rsvp_event share_item status_update user_about_me user_actions.music user_actions.news user_actions.video user_events user_interests user_likes user_location user_status user_subscriptions video_upload
ACTUALIZACIÓN 3
Después de borrar todos mis permisos y volver a autorizar la aplicación (como @phwd sugirió). Las Facebook API muestra esto:
access_token=BLAHBLAHBLAHdontusemytokensilly
¿Quiere esto decir que he sido devuelto el señal_acceso de larga duración? si es así, ¿dónde está la caducidad?
ACTUALIZACIÓN 4
Cuando ejecuto el señal_acceso arriba a través del Facebook depurador, me sale el siguiente resultado:
App ID:
BLAHBLAH
User ID:
211800900 : David Barratt
Issued:
1347309538 (39 minutes ago)
Expires:
Never
Valid: True
Origin: Web
Scopes: create_event create_note email friends_actions.music friends_actions.news friends_actions.video friends_likes friends_subscriptions manage_pages photo_upload publish_actions publish_stream rsvp_event share_item status_update user_about_me user_actions.music user_actions.news user_actions.video user_events user_interests user_likes user_location user_status user_subscriptions video_upload
Esto parece solucionar el problema original, pero es extraño que los access_tokens son indefinidos en lugar de durar los 60 días prescritos.
¿Alguna idea sobre por qué podría ser así?
esto es irrelevante, ya que el largo el token de acceso de larga duración debe durar 60 días (la pregunta que publiqué dice que solo dura unas horas). –