2009-10-22 15 views
5

Estoy buscando una solución similar al iPhone Facebook Connect (https://github.com/facebook/facebook-ios-sdk) para la plataforma BlackBerry. Básicamente, necesito que mis usuarios se autentiquen contra Facebook desde una aplicación nativa de BlackBerry (por lo tanto, no una aplicación móvil basada en Web). ¿Hay alguna biblioteca que pueda usar, y si no, cuál será el enfoque correcto para lograr esto?Facebook Connect para BlackBerry

¡Gracias de antemano!

+0

¿Lo hiciste funcionar? Agradecería algo de ayuda. Gracias. – lostInTransit

+0

lostInTransit - aún no (tengo un trabajo inesperado que hacer). Una vez que lo haga funcionar, lo actualizaré aquí. – Gadi

Respuesta

4

Opciones para Blackberry son:

+0

Coldice - gracias. Si bien la API de interacción de SMS y FB Connect for Mobile Web no responden a mis necesidades, creo que la opción de portar el JavaFB funcionaría (encontré un proyecto aún más detallado - http://fbconnect-android.googlecode.com/ Android Facebook), Intentaré ese enfoque. – Gadi

+0

¡De nada! –

+0

¿Podría actualizar los enlaces? – tipycalFlow

3

logré pasar por Autenticación de Facebook Connect dentro de mi aplicación BB. Después de romperme la cabeza por tres días, me di cuenta de que ¡la URL es la culpable!

Básicamente estos son lo que necesita (suponiendo que está desarrollando el 4,5 plataforma):

  1. mediante el explorador de campo, hacer un post a http://m.facebook.com/login.php (la versión móvil de Facebook) que pasa todos los argumentos necesarios de acuerdo con el Contrapartes de aplicaciones de escritorio (un desafío es lograr que la generación de la firma sea correcta).
  2. Una vez que el Usuario otorga acceso con éxito, capture la URL de la pantalla de éxito. Obtendrás tu auth_token.
  3. Realice una POST al servidor REST para obtener la clave de sesión y el secreto dado el auth_token que obtiene.
  4. Guarde la clave de sesión devuelta y el secreto, insista y wholla! tu aplicación está en funcionamiento.

Estoy desarrollando un objeto personalizado LoginScreen y FacebookFacade para incorporar los primeros tres pasos anteriores, si alguien alguna vez está interesado en reutilizar mi código. Aparecerá GPL, supongo;)

+0

Hiii ... será muy útil si puede darme un vistazo de su código ... mi ID de correo electrónico es [email protected] – tek3

+0

Una cosa más que quiero preguntar ...cómo capturar la URL de la pantalla de éxito para obtener auth_token ... – tek3

+0

Usando BrowserContent puede capturar la URL con getURL() y analizar la respuesta en consecuencia. Voy a publicar el código completo en breve ya que lo estoy ordenando un poco. – Eki

1

Afzal, tuve un problema similar y descubrí que en realidad tenía un problema con la cadena de conexión. Usted puede mirar en el siguiente enlace hay una cierta explicación y código para crear la cadena de conexión correcta http://www.localytics.com/blog/post/how-to-reliably-establish-a-network-connection-on-any-blackberry-device/

y sólo tiene que añadir la cadena de conexión a la FetchThread donde se abre la conexión:

conexión = (HttpConnection) Conector .open (absoluteUrl + getConnectionString());

+0

Guy Ephraim, Como ya he mencionado, todos los otros enlaces en la página de Facebook se conectan excepto el botón de inicio de sesión CUANDO ingresó el correo electrónico y la contraseña correctos. Uso "; inteface = wifi" en cada URL. No tengo idea de lo que está mal. Por favor ayuda. Afzal – Afzal

+0

Bien, ahora creo que funciona (también he añadido una cadena de conexión a la clase FacebookFacade). Veo la pantalla con el botón "Lista de amigos", pero cuando la depuro, la aplicación no tiene un "secreto" de Facebook. Tiene "session_key" pero Facebook no ha devuelto ningún secreto. La respuesta que recibo es como: "session_key": "XXXXXXXXXX-XXXX", "uid": XXXXX, "caduca": 0, "base_domain": "ABC.com" pero no es secreto! ¿Esta todo bien? ¿y si necesito un secreto también? puedo obtener eso? – Afzal

+0

¡Lo hizo! Agregué un parámetro arguments.put ("generate_session_secret", "true"); en getSession (String token) y eliminado session_secret de la firma. ¡Gracias a todos ustedes han sido de gran ayuda! Afzal – Afzal

Cuestiones relacionadas