Pregunta

Estoy intentando conseguir el permiso para 'los usuarios offline_access' en una aplicación iFrame Facebook estará con la API de Facebook Java. Entiendo que necesito para obtener una 'clave de sesión indefinida' después de que los usuarios aprueba mi solicitud. Actualmente, puedo lograr lo que quiero, pero de una manera muy incómoda que probablemente no es correcta. Debe haber una mejor manera de hacer esto. Cualquier pensamiento / idea sería apreciada !!

Lo que he hecho

En un servlet de mi aplicación, puedo comprobar para ver si el usuario actualmente tiene el permiso 'offline_access'. Si lo hacen, me da la url por Permission.authorizeUrl(Permission.OFFLINE_ACCESS). entonces yo llamo response.redirect para llegar a la página de permisos. Dos problemas que tengo son:

  1. La página permisos redirigida se visualiza dentro del marco flotante. Por lo tanto, la barra de menú principal de Facebook libro etc. aparecen dos veces. es decir, el aspecto de una aplicación está incrustada en otra aplicación.
  2. El usuario será 'atascado' en la página de autorización una vez redirigida allí. No voy a ser capaz de obtener la 'clave de sesión indefinida' (llamando client.getCacheSessionKey) a menos que el usuario se remonta a una página en mi aplicación manualmente.

Posibles soluciones temporales ??

  • ¿Hay una manera de / redirección abierta a la página de permisos en una nueva ventana? De esa manera tal vez pueda tener un hilo en mi servlet para mantener la comprobación de si el permiso se establece después de la redirección. Y entonces puedo conseguir la 'llave indefinida sesión' una vez que tengo y almacenarlo en alguna parte?
  • ¿Hay una manera de establecer una URL de Facebook para ir a después de la autorización se establece? (Muy similar a la configuración de URL de autenticación pre-y post-Auth?) O de alguna manera tomar el control después de la página de autorización es exitosa?
  • Las demás formas de configurar mi aplicación tal vez ?? Siendo un novato, podría haber conseguido por completo la idea equivocada ...
¿Fue útil?

Solución

¿Ha intentado utilizar la etiqueta fb:promot-permission en < a href = "http://wiki.developers.facebook.com/index.php/XFBML" rel = "nofollow noreferrer"> XFBML ? Eso parece la forma más sencilla de conseguir el permiso concedido y XFBML es bastante fácil de configurar.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top