Pregunta

Tengo que actualizar mi página de Facebook en una aplicación Django, así que tengo este código:

import facebook
from django.conf import settings

def login_facebook():
    fb = facebook.Facebook(settings.FACEBOOK_API_KEY, settings.FACEBOOK_SECRET_KEY)
    fb.session_key = settings.FACEBOOK_SESSION
    fb.secret = settings.FACEBOOK_SECRET_KEY
    fb.uid = settings.FACEBOOK_UID
    return fb

def update_status(fb, message):
    return fb.stream.publish(message=status_message)

Y yo utilizo para ejecutarlo con ipython:

import src.tests.scripts.facebook_publish_fanpage as f
fb = f.login_facebook()
f.update_status(fb, 'This is a test')

Pero consigo esta excepción:

AttributeError: 'Facebook' object has no attribute 'stream'

I ya dio permisos a la aplicación siguiente Esta 2 pasos:

  

Publicar post en la página de Facebook (1) y la autorización de una página de Facebook para las actualizaciones de estado (2)

Pero no importa lo que intento (siendo haciendo unas cuantas horas ...) No puedo publicar en la página ...

Ahora estoy perdido, alguna ayuda?

(1) tech.karolzielinski.com/publish-post-of-facebook-page-wall-as-a-page-not-a-user-python-facebook-rest-api

(2) stackoverflow.com/questions/2097665/authorizing-a-facebook-fan-page-for-status-updates

PD: Lo siento no tienen permiso para añadir los enlaces aún, soy sobre todo un lector de SO

¿Fue útil?

Solución

Después de buscar durante horas por fin encontré la solución ... no a los métodos de uso corriente, pero esto:

fb(method='stream_publish', args={'session_key': settings.FACEBOOK_SESSION, 'uid':PAGE_ID, 'target_id': 'NULL', 'message':'MESSAGE_HERE'})

Encontrados la solución a esta entrada del blog: http://danielquinn.org/blog/1578.html

Esto funciona !!

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