我需要更新我的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

PD:对不起,没有权限添加链接呢,我主要是在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

这作品!

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top