PyFacebook: exemple Facebook () n'a pas de méthode de flux
-
22-09-2019 - |
Question
je dois mettre à jour mon Fan Page Facebook dans une application django j'ai donc ce code:
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)
Et je l'utiliser pour l'exécuter avec ipython:
import src.tests.scripts.facebook_publish_fanpage as f
fb = f.login_facebook()
f.update_status(fb, 'This is a test')
Mais je reçois cette exception:
AttributeError: 'Facebook' object has no attribute 'stream'
Je l'ai déjà donné des autorisations à l'application suivant ces 2 étapes:
Publier le message sur la page Facebook (1) et Autorisant une page Facebook Fan mises à jour d'état (2)
Mais peu importe ce que j'essaie (être faire quelques heures maintenant ...) Je ne peux pas publier sur la page ...
Je suis perdu maintenant, toute aide?
(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: Désolé ne pas l'autorisation d'ajouter les liens encore, je suis surtout un lecteur de SO
La solution
Après avoir cherché pendant des heures j'ai enfin trouvé la solution ... ne pas utiliser des méthodes de flux, mais ceci:
fb(method='stream_publish', args={'session_key': settings.FACEBOOK_SESSION, 'uid':PAGE_ID, 'target_id': 'NULL', 'message':'MESSAGE_HERE'})
trouvé la solution à ce blog: http://danielquinn.org/blog/1578.html
Cela fonctionne !!