PyFacebook - PyFacebook:Экземпляр Facebook() не имеет потоковых методов
-
22-09-2019 - |
Вопрос
Мне нужно обновить мою фан-страницу Facebook в приложении django, поэтому у меня есть этот код:
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)
И я использую это, чтобы запустить его с ipython:
import src.tests.scripts.facebook_publish_fanpage as f
fb = f.login_facebook()
f.update_status(fb, 'This is a test')
Но я получаю это исключение:
AttributeError: 'Facebook' object has no attribute 'stream'
Я уже дал разрешения приложению, выполнив следующие 2 шага:
Опубликовать публикацию на странице Facebook (1) и авторизовать фан-страницу Facebook для обновления статуса (2)
Но независимо от того, что я пытаюсь (делаю это уже несколько часов ...) Я не могу опубликовать на странице...
Теперь я заблудился, есть какая-нибудь помощь?
(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
ПД:Извините, у меня пока нет разрешения на добавление ссылок, я в основном читаю в SO
Решение
После многочасовых поисков я наконец нашел решение...не использовать потоковые методы, но это:
fb(method='stream_publish', args={'session_key': settings.FACEBOOK_SESSION, 'uid':PAGE_ID, 'target_id': 'NULL', 'message':'MESSAGE_HERE'})
Нашел решение в этом сообщении в блоге: http://danielquinn.org/blog/1578.html
Это работает!!