Soluciones sensatas para la eliminación del permiso offline_access

Estoy volviendo a crear una aplicación de FB después de un tiempo alejado de la Plataforma de FB y veo que el antiguo permiso offline_access se ha eliminado y se ha sustituido por tokens de larga duración (ish) [1].

Por lo tanto, ahora parece que cualquier aplicación externa que necesite enviar datos a Facebook en base a, digamos, un programa o alguna actividad en la aplicación externa tendrá que hacer frente a que el token de acceso largo haya caducado. Esto se hace más frustrante porque ahora un usuario que se desconecta de FB también eliminará cualquier token de caducidad larga [2], mientras que antes, offline_access vivía incluso cuando el usuario estaba desconectado.

Todavía estoy en la etapa de reflexionar sobre una solución, pero surgen dos ideas:

1) Cada vez que mi aplicación se comunica con un usuario que tiene integración con FB, se les solicita que hagan clic en un enlace que activará la re-autenticación con FB para obtener un nuevo token de acceso largo. Mis usuarios generalmente son contactados varias veces durante la vida útil de un token de acceso largo, por lo que estedebería seguir renovando efectivamente el token de acceso largo durante el tiempo que lo necesiten (incluso si agrega alguna fricción molesta a mi aplicación)

2) Porque no puedo garantizar que 1) siempre funcionará (debido a que los usuarios no hacen clic en el enlace de volver a autentificar en la notificación de correo electrónico de mi aplicación o que se desconecten de Facebook, por ejemplo) también tendré que manejar las interacciones FB fallidas colocándolos en una cola de espera y enviando un correo electrónico al usuario para pedirle explícitamente que otorgue nuevamente un token de acceso largo. No está bien, pero no veo otra opción. Si no responden a la solicitud después de que X intenta pedirles que vuelvan a otorgar el permiso, solo tendré que agrupar la tarea y enviarles un correo electrónico para explicarles que se debe a una limitación de FB, no a mi aplicación. Una vez más, no está bien.

¿Alguien ha tenido que encontrar mejores soluciones para mantener la capacidad de interactuar con la cuenta de un usuario con permisos de autenticación / explícitos? Me gustaría escuchar lo que hiciste.

(Todo esto está pendiente de que vuelva a leer el FB ToS, por supuesto, es totalmente posible que esto vaya en contra de las reglas, lo que sería aún más frustrante)

EDITAR / ACTUALIZAR: los datos que necesito para enviar son imágenes a un álbum de fotos que llegarán a mi servidor desde varias fuentes y luego se enviarán a un álbum de usuario adecuado (con su permiso pre-otorgado, por supuesto). No podré garantizar que haya una interacción con el usuario final basada en la web en el momento en que las imágenes lleguen a mi servidor para que el usuario final me otorgue un nuevo token de corta duración. Básicamente,offline_access Realmente hubiera sido ideal para esta OMI.

ACTUALIZACIÓN 2: NB: es realmente clave para mi caso de uso que el usuario no necesariamente utilizará mi aplicación o Facebook cuando se deba otorgar o extender el token.

[1]https://developers.facebook.com/roadmap/offline-access-removal/ [2]http://developers.facebook.com/blog/post/2011/05/13/how-to--handle-expired-access-tokens/

Respuestas a la pregunta(3)

Su respuesta a la pregunta