我需要在django应用中更新我的Facebook粉丝页面,所以我有这个代码:
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'
我已按照以下两个步骤授予了应用权限:
在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
PD:抱歉还没有添加链接的权限,我主要是SO的读者
答案 0 :(得分:1)
搜索了几个小时后,我终于找到了解决方案...不使用流方法,但是:
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
有效!!