2009-06-11 31 views

Respuesta

6

Agregar el directorio de Facebook desde el directorio de instalación de PyFacebook a la aplicación de parche de aplicación de motor le permite agregar 'facebook.djangofb.FacebookMiddleware', a MIDDLEWARE_CLASSES en settings.py. Luego su vista puede usar 'import facebook.djangofb como facebook' y '@ facebook.require_login().'

No he ido de principio a fin, pero cuando traté de mostrar la vista precedida por '@ facebook.require_login()', fui redirigido al inicio de sesión de Facebook.

+3

Esto funcionó de principio a fin. Con esta configuración, pude construir una aplicación de Facebook para votar con Google App Engine como back-end. – byamabe

+0

Lo he intentado y parece que no funciona para mí. No puedo usar "import facebook.djangofb como facebook", que falla por alguna razón. ¿Alguna idea de por qué? Además, el bit "require_login" tampoco funciona como se planeó. Tal vez puse las cosas PyFacebook en el directorio equivocado? No es seguro. ¿Puede usted ayudar? – Bialecki

+0

¿Pusiste el directorio 'facebook' en el nivel superior del proyecto (el mismo nivel que tu 'myapp' en el proyecto de ejemplo)? También debería ser el directorio 'facebook', no el directorio completo de PyFacebook. Además, pruebe @ facebook.require_add(), pero ninguno funcionará hasta que la importación funcione. – byamabe

0

De acuerdo con this post, necesita un PyFacebook ligeramente modificado que puede descargar desde una URL dada en dicha publicación (aunque no lo he probado yo mismo).

Editar: ese enlace está mal - mejor enlace y más discusión en this thread.

+0

El enlace en esa publicación parece estar roto? – bchang

+0

Sí, así que edité mi respuesta para dar un mejor puntero (al mismo PyFacebook modificado) - ¡gracias! –

+0

Vi esa publicación antes de hacer mi pregunta. Descargué el archivo y parece una interfaz autónoma de Python para Facebook sin ninguna relación con el proyecto PyFacebook (corrígeme si me equivoco). En cualquier caso, no parecía que el middleware de PyFacebook fuera compatible. Encontré una publicación (http://groups.google.com/group/app-engine-patch/browse_thread/thread/cca0bb8d661c7b83/24ac7e53baae523b?show_docid=24ac7e53baae523b) donde alguien intenta algo similar. Lo intentaré y publicaré mis hallazgos. – byamabe

8

Ejecutar un sistema en las redes sociales y Facebook en GAE con back-end en Python, front-end en Javascript y Flash. Uso principalmente las bibliotecas js del lado del cliente para pasar datos al almacén de datos del lado del servidor. Esta biblioteca para Facebook es exacta: http://code.google.com/p/facebookjsapi/

Hay una razón para esto. La mayor parte de lo que estamos haciendo se ejecutará en su propio sitio, en iframes en diferentes redes sociales y en widgets, etc. Pero en su mayor parte esto ha funcionado muy bien. Es bueno porque podemos intercambiar nuestro back-end en cualquier momento o incluso ejecutarlo en múltiples plataformas, ya que también está utilizando una biblioteca GAE de recuperación de Python, pero cualquier back-end haría con esta configuración.