PyFacebook: Facebook ejemplo () no tiene métodos de transmisión
-
22-09-2019 - |
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
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 !!